提升效率所需的编码准则
1.在对立关系中事先确定侧重于哪一方
1.1 程序里的对立关系?
- 对立关系是指,选择两个策略性目标之一,则无法追求另一个目标的实现。eg:一旦决定采用值传递的方法保障程序安全性,就无法同时采用引用传递的方法追求程序性能的优化。
- 总之,鱼和熊掌不可兼得,实际工作过程中,安全性、性能、生产效率等,不同项目侧重点方向也不同,但往往处于一个平衡的位置。
- 因此,项目经理、系统架构师、系统分析师、程序员、码农等应该逐一列举处于对立关系的各个对象,从中选择更希望侧重的一个方面,并在项目流程中始终坚持自己的选择。
2、慎重采用最新工具
2.1 多了解最新地开发工具
- 优秀的开发工具很多,不同的IDE可能导致生产效率出现明显差异。
- 我们应该始终以挑剔的眼光看待工具,寻找更好的扩展应用、更好的开发工具,并毫不犹豫地将其应用到日常工作中。
2.2 欲戴皇冠,必承其重
- 有时候新的开发工具会起到反作用。
- 锋利的斧子固然有用,但要首先具备挥动斧子的力量。
3、记住所有标准库
- 要想成为经验丰富、工作效率高的程序员,至少应该牢记标准库。
- 具体下,就是牢记标准函数库提供的各函数名、使用形式、使用示例等。
- 同时,最好还能再记住一两个与自己业务关联度高的常用库。
4、最大程度划分模块
- 积木很奇妙,相互配合、排列,能组成千奇百怪的形状。
- 程序的一个个函数块,相互配合、排列组成,能组成各种系统。
- 模块划分越细,可以组成的程序数目越多
- 由此可见,在设计系统时,应该最大限度地实现模块化
- 假设某项目最初是由5各左右的程序单元组成的软件系统,但根据划分模块原则,应该将其拆分为上百个模块。这样今后有新的需求时,只用对其中一些模块重新修改、拼接就好。
- 对于大规模项目,无论提高生产率还是对新需求的应变速度,都可以收到出人意料的显著效果。
5、 明确区分术语
-
开发多人参与的项目前,应该先统一术语。可以再黑板上将可能用到的术语写下来,或者撰写一本术语指南,或者直接购买一本术语词典。这样方便沟通。
-
下面举个反例,该语句声明了什么????
struct newDataType {
char *a;
char *b;
};
- 结构体?结构型?结构?
- 应该统一术语
6、明确区分结构体、枚举体、共用体
术语 | 定义 |
---|---|
1.结构体 | 包含2和3 |
2.结构体数据类型 | 用struct声明的数据类型,简称为结构型 |
3.结构型变量 | 用于称呼结构体数据类型声明的变量 |
4.枚举体 | 包括5和6 |
5.枚举体数据类型 | 用enum声明的数据类型,简称为枚举型 |
6.枚举体变量 | 枚举体类型的变量 |
7.共用体 | 包括8和9 |
8.共用体数据类型 | 用union声明的数据类型,简称共用型 |
9.共用型变量 | 共用体数据类型定义的变量 |
7、明确区分对象、类、实例
术语 | 定义 |
---|---|
对象 | 包括类和实例 |
类 | 按照生成对象的语法定义的数据类型,相当于实例的设计图 |
实例 | 根据类生成的实体。虽然经常将实例成为对象,但二者其实是不同的概念,应区分对待。比较好的方法是用"实体"代替"对象"这一称呼,或直接称其为实例。 |
8、小结
码农是译者,程序员是作家。就像译者和作家一样,码农和程序员都应该对这些规则保持敏感。