原文地址:http://blog.csdn.net/crazycoder8848/article/details/7097101
1. 命名(变量名,参数名,函数名,也包括文件名)应当体现概念含义, 应当准确表达事物本质, 且恰如其分。
2. 涉及到计算(包括算术、逻辑、控制等等)的地方,如果这组运算行为,与现实业务中某个概念对应,则建议封装成一个函数。
3. 如果一个函数,体现的是现实业务中的一个大概念,但是其内部有若干个代码块,每个代码块体现了一个更细粒度的小概念,
则建议将这些代码块抽取成函数。
4. 每个函数都不大,基本上200行以内。代码达到自注释的效果,层层隐藏实现细节。
5. 一个好的设计,增加新功能是,通常是只增加代码,几乎不修改任何代码。
例如,增加一个宏定义,增加一个else if 分支,增加一个switch case分支,增加一个file_operation结构变量等。
6. 版本维护是一个长期的过程。
版本演进过程中,如果发现违背了上述原则时,则可能需要及时进行新的抽像。即将老的概念进行进一步的包装,形成新的概念层。
7. 追求性能,与追求上述特性,是相冲突的。对于性能问题,需要拆中考虑。最好是针对对性能影响最关键的局部模块(例如,热度最高的函数)进行优化。
当然,精良的整体设计对性能的提升无疑是有极大好处的。