参考资料

Part 1: 通用设计原则

彻底的简化(simplifications)

这样你就能看懂你在做什么。

避免过度的泛化(generality)

如果它适用于任何情况,那么它对任何情况又都不那么适用了。

避免使用那些不常用的组件(components)

组件一旦不被使用,它的代码就开始退化和腐烂(deterioration and corruption)。

明确(explicit)

明确说明所有的假设。

使用间接(indirection)的方法来分解模块

间接的方法使得模块具有可替换性(replaceability)。

方便迭代(iteration)

一次成功很难,所以让它容易修改。

端对端的论证(end-to-end argument)

系统的使用者最了解系统的好坏。

不断上升的复杂度定律(complexity)

添加一个特性(feature)会增加系统的复杂度。