1. 简单的设计永远比复杂的好,原子性的操作要胜于某些貌似更加自动化的机制。
2. 我们真的很在乎一些细致末节的效率么?尤其是在假意效率之名破坏简单清晰的设计时请仔细斟酌是否值得。
3. 比起C++重载某些+-*/之类的方法,我宁愿去写add, mul, div这样的函数,至少可以让使用者(或者自己)一目了然的知道这背后意味着什么样的运算。
3. 最好不耦合,单向耦合要好于双向耦合。
4. 在做好第一版之后,再想想是否还可以再简单一些,而不是盲目的增加貌似有用的功能。
5. 在使用中如果发现对于使用者不够方便,或者对于日后的扩展需要增加很多额外的代码,那么请考虑这样的设计是否合理,是否足够简单。
6. 任何设计都有改进的余地,做的越深入就越觉得自己的无知,这时请听听其他人的想法,或许会有更大的启发。