我从 10 年的软件开发经验中学到的 20 条原则
自从我在软件行业开始第一份工作以来,已经过去了十年。以下是我在日常生活中学习并努力遵循的20条原则。
- 保持谦虚——世界上没有一个工程师无所不知,你也一样。
- 让它发挥作用,让它正确运行(有时让它快速运行)。
- 针对变化进行优化——宁愿重复也不愿进行错误的抽象。
- 始终编写测试- 如果您不编写测试,则需要手动测试。
- 解决 80% 的用例- 你永远无法解决每个人的问题。
- 更喜欢函数式编程——它更容易理解。如果你的代码需要博士才能理解,那你很可能做错了。
- 删除尽可能多的代码
- 足够好胜过完美——不要仅仅因为不完美就放弃有意义的改进。
- 私下批评,公开表扬
- 做笔记——如果你认为你会记住它,那你就是在自欺欺人。
- 与用户交谈——最好的软件是由对用户有同理心的工程师构建的。
- 有目的地学习——在练习时心中有一个明确而具体的目标——你想要改进什么以及如何改进(刻意练习)。
- 不要过早概括——等到至少有 3 个重复的代码后再进行抽象(又称三分法则)。
- 修复损坏的窗口- 代码中的一个漏洞会导致另一个漏洞。很快你的代码就会变得难以管理。
- 解决问题——不管是谁的错,这都是你的问题。
- 做有效的事,而不是赶时髦——先在小团队里尝试一下。如果有效,就扩大规模。如果无效,就放弃。
- 最佳工作离不开充足的休息——规律的休息对于保持最佳状态至关重要。你也不指望职业短跑运动员总是全力冲刺。
- 循序渐进——大规模的重写是行不通的。你会逐渐失去动力和专注力。争取每天发布。这能让你自由地在必要时调整重点。
- 表扬优秀工作——我们在动物身上观察到了这一点,但这对人类同样有效。表扬他人的优秀工作,比惩罚他人的糟糕工作更能取得更好的效果。
- 完美的代码并不存在——最好接受这个事实,而不是浪费时间去追求不可能的事情。