Programming Zh | 原创
audio: false generated: false image: false lang: zh layout: post title: 编程 translated: true —* 竞赛编程可以做,只要它能激励你。
-
编程就像写作。编程是一种创造性活动。
-
做自己的项目。写技术博客。为一个你会维护多年的项目编程,就像维护一个十年长博客一样。
-
通常,你不需要追求当前技术中的热门趋势,因为许多趋势几年后就会消退。
-
追求你的好奇心,为你自己编程。
-
尝试为自己创建程序。它们不是工作任务。
-
如果你在编程时经常感到不快乐,那么你的做法就错了。
-
iOS、Android、后端、前端、AI都很好。至少可以尝试用它们做一个小项目,或者花几个月时间学习它们。
-
调试是关于怀疑的。不要相信你代码的每一行;你可以想出更好的方法来实现它。
-
在编程中,即使是一个字符或一行日志也很重要。它们会告诉你一些信息。
-
使用编程为他人创造产品。拥有用户是很有趣的。
-
你不需要苛刻。几百个真正喜爱你产品的用户比几万个只是礼貌喜欢你产品的用户更好。
-
记住你为什么开始编程,永远不要忘记这一点。
-
将编程中的知识应用到生活的各个方面。它们是相同的。批量处理或逐个处理。如何将工作分解为单元。每个应用程序背后的底层技术。网络请求背后的细节。
-
抽象和逻辑思维。细节导向的思维。每个解决方案的思考。
-
真理就是真理。通常,计算机不会出错。电路不会出错。编译器不会出错。发现有bug时不要感到沮丧。
-
追求优雅和简单的解决方案。简单是最高级的精致。你需要努力保留本质,移除多余的部分。
-
对于编程语言,能完成工作的语言就可以。我个人推荐Java和Python。
-
关注Yin Wang的博客:https://www.yinwang.org。他是编程领域中少数几位天才之一,尽管他自己说天才并不存在。
-
编程的知识和原则可以轻松应用于语言学习、硬件维修、生活黑客和科学研究。
-
对于大多数编程任务,你不需要高于高中水平的数学。
-
多年后回顾你的旧代码,或者长期维护一个代码项目。这会让你学到很多。
-
如果你失去了对编程的热情,可以暂时做些其他事情。
-
测试的时机很重要。自然地去做它。你经常不需要为你的项目编写测试。尽量不写测试,写单元测试,写集成测试,写API测试。明智地比较它们。
-
尝试使用AI代码编辑器。经常使用ChatGPT或其他聊天机器人。由于AI工具现在很容易使用,你可以专注于更有创造力或更重要的部分。
-
在调试时,检查你是否使用了库的最新版本。如果一个库不再维护,寻找活跃维护的克隆或分支。
-
在改善网络速度或程序运行时间时,必须有一个量化指标。否则,你不会确切地知道是否有微小的改进或退化。
-
对于个人项目,可以不写测试代码,但最好在修改大量代码后进行本地测试。考虑受影响的代码、它在云端管道中运行的时间以及它可能导致错误的频率,然后相应地编写测试代码。使用允许轻松测试而不影响用户体验的方法。
-
编写简单而优雅的代码。最小化重复,尽管有时重复会导致更简单的解决方案。最小化特殊情况。使其易于测试。重构以使用通用函数或流程,使用递归或循环,并寻找模式。
-
正确处理错误。思考根本原因、责任以及我们是否可以改变它或者它是否是外部错误。考虑救援方法、影响范围、处理位置、是否应该分类错误、发生的可能性以及最坏的情况。
-
使用replace与使用startWith后跟slice的区别在于前者不考虑字符串的位置。将类似的思考应用于编程的每一个细节。
-
最小化一个项目的可能值;为一个情况使用一个值。如果已经有false,就不要使用null。如果我们有一个翻译后的true或false标志,我们需要确保每次有翻译标志时,我们不将翻译标志的不存在视为false。
-
经常使用GitHub或Sourcetree查看更改的代码块。它们更方便阅读代码。
-
在编程中,往往没有琐碎的事情。每个字符、列表项目的顺序、每个字符串、每个数字和每个变量名都很重要。每个执行顺序和每个日志都很重要。
-
做让你最兴奋的事情。没有必要担心不跟随主流。
-
经常使用命令,因为它们可以帮助自动化任务或协助LLMs。UI界面操作更难自动化。
-
保存程序的日志,包括本地、UAT、微服务和管道日志,在一个目录中。在编程中,这些日志包含大量连接。搜索它们以识别关系,收集相关数据或上下文。
-
有了收集的日志,当你遇到问题时,更容易确定是否遇到过它。从之前的日志中,你可能知道如何修复它。日志提供了对如何运行和计算机如何执行程序的更好理解。与代码不同,日志是时间相关的,提供了更多关于运行状态的信息。它们在调试时也更轻量。
-
调试显示了大量信息,包括周围变量的值、线程名称和函数堆栈。
-
自动化一切,比如代理更新和选择最佳代理服务器。广泛使用Python编写脚本。
-
保持简单,使函数小而简洁,使文件小而简洁。这样它们就容易测试、验证和检查一个样本。