编程
-
做竞赛编程是可以的,只要它能激励你。
-
编程就像写作。编程是一项创造性活动。
-
做你自己的项目。写你的技术博客。为你将维护多年的项目编程,就像维护一个长达十年的博客一样。
-
通常,你不需要追求当前技术中的热点,因为许多趋势会在几年后消退。
-
追求自己的好奇心,为了自己编程。
-
尝试为自己创建程序。它们不是工作任务。
-
如果你经常在编程时感到不幸福,那么你做错了。
-
iOS、Android、后端、前端、AI 都是很好的。至少可以尝试用它们做一个小项目或学习几个月。
-
调试是怀疑。不要相信你代码的每一行;你可以想出更好的方法来做。
-
在编程中,即使是一个字符或一行日志也是重要的。它们告诉你一些信息。
-
使用编程使产品供他人使用。拥有用户是有趣的。
-
你不需要苛刻。少数几百个真正热爱你产品的用户比数千个只是友好喜欢你产品的用户更好。
-
记住你为什么开始编程,永远不要忘记。
-
将编程中的知识应用到生活的每一个方面。它们是相同的。批量处理或逐一处理事情。如何将工作分解为单元。每个应用程序背后的基础技术。网络请求背后的细节。
-
抽象和逻辑思维。细致入微的思维。每个解决方案的思考。
-
真理就是真理。通常计算机不会出错。电路不会出错。编译器不会出错。当有错误时不要感到沮丧。
-
追求优雅和简单的解决方案。简洁是最极致的复杂。你需要努力思考留下本质的部分并去除多余的部分。
-
对于编程语言,能完成工作的语言就可以了。我个人推荐 Java 和 Python。
-
关注 Yin Wang 的 https://www.yinwang.org。他是编程领域为数不多的天才之一,尽管他说天才从不存在。
-
编程的知识和原则可以轻松应用于语言学习、硬件维修、生活黑客和科学研究。
-
对于大多数编程任务,你不需要超出高中数学的复杂数学。
-
反思你多年后的旧代码或长期维护一个代码项目。它会教你很多。
-
如果你失去了编程的热情,就做一些其他事情一段时间。
-
测试的时机很重要。自然地去做。你通常不需要为你的项目编写测试。尽量不要编写测试,编写单元测试,编写集成测试,编写 API 测试。明智地比较它们。
-
尝试 AI 代码编辑器。经常使用 ChatGPT 或其他聊天机器人。由于 AI 工具现在很容易使用,你可以专注于更具创造性或重要的部分。
-
调试时,检查你是否使用的是库的最新版本。如果一个库没有维护,寻找积极维护的克隆或分叉。
-
当改进像网络速度或程序运行时间这类东西时,必须有一个定量的指标。否则,你不会确切地知道是否有微不足道的改进或退化。
-
对于个人项目,不写测试代码是可以的,但最好在改变大量代码后进行本地测试。考虑受影响的代码、它将在云管道中运行多长时间以及它可能导致错误的频率,然后相应地编写测试代码。使用允许轻松测试而不影响用户体验的方法。
-
写简单而优雅的代码。最小化重复,尽管有时候重复导致更简单的解决方案。最小化特殊情况。使其易于测试。重构以使用通用函数或流程,使用递归或循环,并寻找模式。
-
正确处理错误。思考根本原因、责任以及我们是否可以改变它或它是否是外部错误。考虑救援方法、影响范围、处理位置、是否应分类错误、发生的可能性以及最坏的情况。
-
使用 replace 与使用 startWith 后跟 slice 的区别在于前者忽略字符串的位置。将类似的思维应用到编程的每一个细节。
-
最小化一个项目的可能值;对于一个情况使用一个值。如果我们已经有了 false,就不要使用 null。如果我们有一个翻译的 true 或 false 标志,我们需要确保每次我们有一个翻译标志时,我们不会将翻译标志的不存在视为 false。
-
使用 GitHub 或 Sourcetree 频繁查看更改的代码块。它们更适合阅读代码。
-
在编程中,通常没有微不足道的事情。每个字符、列表项的顺序、每个字符串、每个数字和每个变量名都很重要。每次执行顺序和每个日志都很重要。
-
做让你最激动的事情。不需要担心不遵循主流。