自己的一些编程规范

毕业正式上班前,公司对新入职的员工进行了拓展训练和培训,公司的一个出身研发的年轻领导问了我们这样一个问题:“试想一下,建筑工地的农民工没有我们聪明,更没有学历,但是他们盖的大楼却总是能够按期完成,而且常常可以使用几十年而不出问题,而学历更高的我们写的软件不但经常延期,而且常常出现各种bug,我们有想过为什么会这样么?”当时没有人回答,这个领导也没有给出明确的答案,但是这个问题一直在我的脑海里徘徊。经过3年多的工作和思考,我觉得自己可以试着回答这个问题了。

程序员与农民工的工作效率与可靠性的区别来自于下面两点:

  1. 理论的成熟度不同。有计算机以来才几十年而已,而人类有建筑以来已经好几千年了,计算机和软件开发的理论相比建筑的理论,其成熟度自然是无法比拟的。
  2. 标准化和规范化的程度不同。建筑行业每个工种和工序都有比较严格的操作规范和标准,而软件行业的标准和规范却非常稀疏。

长期来看,随着计算机和软件行业的不断发展,其理论肯定会逐渐成熟;短期来说,作为程序员的我们可以通过不断规范自己的编程习惯,标准化自己的编程行为,是可以慢慢实现软件按期交付,稳定运行的目标的。

下面是自己总结的一些编程规范:

  1. 形成固定的命名习惯;这样在编码时,就不用时常停下来思考变量和函数的名称,反而可以把更多的精力用于思考逻辑;
  2. 绝不使用引起二义性的东西;
  3. 尽可能地解耦,一个函数只做一件事情;
  4. 消灭所有编译产生的警告;
  5. 防御性地编程,总是假设自己的代码会出问题;
  6. 尽可能地详细记录日志,包括时间、错误发生的地方,错误码等等;
  7. 对于异常分等级地处理,按照以下原则处理异常:能恢复尽量恢复,譬如超时重发,这样软件的可用性比较好;异常处理不能污染数据或者损害硬件;

 

posted @ 2017-03-21 15:53  朝雾之归乡  阅读(202)  评论(0编辑  收藏  举报