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等. - 时刻关注主线: 编码过程中, 时刻关注
主线逻辑
的清晰, 避免写着写着就复杂了.