我最近一直在阅读关于“如何培养习惯”的书籍。阅读并消化之后,我不禁开始思考,目前我有哪些习惯。其中一些是生活方面的,另一些则完全关于工作。这其中有不少习惯是和编程密切相 关的,这也是我接下来觉得值得和大家分享的内容。
1. 不受控制的自动保存 – 这个习惯已经伴随着我多年了。即使如今许多 IDE 甚至不需要用户(主动)保存文件,但我任然乐此不疲地按着“Ctrl + S”这个组合键。如果没记错的话,我每次停止打字时都会无所事事,于是会 不受控制地做着这样的举动。
2. 有些开发人员喜欢将自己“处 在状态”比喻成“涅槃重生”或者是到达了“瓦尔哈拉殿堂”。在我看来,这更像是一种“暴走模式”。显而易见,这是生产效率非常惊人的一段时间,但之后你应该休息片刻来调整恢复(你 体内的激素水平)。就像 F1 方程式赛车一样,短时间的爆发冲刺将直接影响最终成绩,但是更重要的是要确保“定期的进站 (休息/恢复)”。长时间亢奋 反而会让大脑麻木,从而导致更容易陷入困境。
3. 确保隔绝所有干扰源 – 当我正 在着手于非常重要的事项时,我会直接关闭手机,避免一切社交应用或者媒体的打扰。当然如果你有小孩子,那把他们锁在地下室里可能并不是一个很好的解决方案 :)。
4. 着手工作前先想清楚预期结果 – 可视化可度量是至关重要的。 它有助于我明确今天的目标清单,并且在一天结束时能减少自己“碌碌无为”而产生的沮丧和失望。所以对于任何时候你在做的事情,都先明确你预期要获得的收益。这听起来十分浅显,但 实际上我们经常会遗漏这一点。
5. 对我来说,另一个好习惯是"定期训练”。比如,坚 持去健身就是一个非常好的习惯。我非常喜欢时不时得做一些编程练习,这可以让我时刻保持自己的锯子锋利无比。请记住,坚持这个习惯,虽然它现在不会给你带来报酬,但它一定会在未 来给你巨大的收益。
6. “测试先行” – 这与前面提到 的一点类似,先来组织并构建测试用例可以帮助我在开始之前就看到我的目的地。同时,它也能有助于设计和文档化这两个过程。但实际情况来看,很少有开发人员认同并实践这个观点。
7. 避免过度的“面向未来编 程”。之前我每次着手编程时, 我总是第一天就力求完美,设计和实现上都尝试覆盖所有可能的特殊情况(edge cases)。随着时间的推移,我意识到这样常常会导致过度复杂的设计和代码实现,同时消耗更多的时间。 所以,希望你们可以有所借鉴,这些都是我在职业生涯里慢慢形成的同时非常有用的习惯。培养和建立一个好习惯的最好也是唯一途径就是开始实践它。
---
转载请注明本文标题和链接:《7个编程好习惯!!》