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