Keep it simple, stupid.
- 避免过早设计: 保持最初的愚蠢.
- 避免过多层级: 包括目录层级, 抽象层级. 只在的确是个独立功能时再去分离模块. 参考Linux Kernel
- 保持线性逻辑: 避免跳来跳去.
主线逻辑清晰可使阅读者更容易阅读, 代码分离时要避免枝叶过于茂盛. - 使用独立函数: 偏爱独立的函数来辅助
主线逻辑清晰, 而不是不必要的设计模式. - 避免过度封装: 要相信你编写的只是个小软件, 不要对
大有误解. - 使用简单算法: 使用简单的数据结构和算法, 花哨的东西更容易出bug. [Rob Pike]
- 清晰胜于机巧: 机关算尽太聪明,反算了卿卿性命. [Ken Thompson, 曹雪芹]
- 保持简洁设计: 设计要简洁, 复杂度能低则低. [Ken Thompson]
- 保持透明设计: 设计要可见, 一目了然, 以便审查和调试. 避免半月后自己亦无法读明白. [Ken Thompson]
- 尽量避免
else: 偏爱if (true) {} if (false) {}, 而不是if (true) {} else {} - 避免纠结小事: 不要
过于纠结变量命名, 是否写了注释, rust函数是否省略了return等. - 时刻关注主线: 编码过程中, 时刻关注
主线逻辑的清晰, 避免写着写着就复杂了.