检验工程水平的最佳方式,是看你离开后会发生什么。如果有人不得不发消息问你"这个怎么用?"——那你就失败了。系统应该持续运行,流水线应该持续部署,仪表盘应该持续更新。
这是我工程实践中最为刻意的一部分:为后来者而构建。
检验标准
在我认为某个系统"完成"之前,我会问:"一个从未见过这段代码的中级工程师,能否在不联系我的情况下操作它?"
如果答案是否定的,那我还没完成。代码也许能运行,但它并不完整。
"可操作性"长什么样
1. 能回答前5个问题的README
每位新工程师都会问同样的5个问题:
- 这是做什么的?
- 如何在本地运行?
- 如何部署?
- 日志在哪里?
- 出问题了联系谁?
\\
