编码规范养成系列---生产效率提高篇

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、小结

码农是译者,程序员是作家。就像译者和作家一样,码农和程序员都应该对这些规则保持敏感。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕竟是shy哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值