编程必读 15个编程好习惯

开发 开发工具
导读:原文根据作者Al katib在codingthis.com上发表的一篇《15 Good Computer Programming Habits》,由国内整理编译《15个编程好习惯》。

  这是国外程序员Al katib总结的一些编程习惯,内容如下: 

[[20800]]

  1. 动手编码之前,你需要对要编码实现的解决方案有一个正式的或粗略的设计。永远不要在没有任何设计的前提下就开始编码,除非所编代码不重要。

  2. 优秀的代码文档跟编程语言知识一样重要。在代码源文件中,为每个主要的代码段添加注释,解释代码的基本逻辑。***注明程序的构建和修改日期,以及修改的原因也是非常有必要的。

  3. 维护程序的各个版本同样重要。当前有些编程工具都自带一个版本管理工具。无论你什么时候改变自己的程序,它们都会将其保存为.bak文件。

  我的方法是为每个程序维护三个不同的版本。比如说,我有一个名为program.c的文件,这个文件同时也被其他项目组成员使用。我把这个文件复制为program.c.old作为备份文件,并且当我修改时,我会备份另一个名为program.c.wrk的副本文件。当成功完成修改时替换program.c.wrk文件。

  你还可以给自己的程序版本添加一个日期或一些注释,像program260505.c或programReadFnWrking.c。

  4. 如果工程包含多个源文件,则创建一个README文件,注明每个源文件、数据文件、临时文件以及日志文件(如果有的话)的作用。你还可以注明编译和运行步骤。

  5. 有时候,你一定想知道为什么IF语句没有得到预想的结果。可能你使用的是等号,也就是“=”,而不是条件判定符号“==”。一个比较好的办法是用相反的顺序写条件语句。因此,你的条件语句应该如下:

  if(10==i)…因此,如果你错误地写成了单个等于号,在编译的时候也能检查出来并报错。

  6.使用循环和条件语句时,先把左右括号对应起来,然后再在里面写其他语句。也就是:

  代码:

  1. 1 for(int i=0;i<10;i++)  
  2.    
  3. 2 {  
  4.    
  5. 4 printf(“i=%dn”,i);  
  6.    
  7. 3 } 

  注:每一行开头的数字表明写循环代码的顺序。

  7. 避免使用幻数(magic numbers)。例如,不要写

  代码:

  1. circleArea = 3.14 * pow(radius,2); 

  而要使用如下代码:

  代码:

  1. #define PI 3.14  
  2.  
  3. circleArea = PI * pow(radius,2);  

  8. 使用有意义的变量和函数名称。例如,使用‘radius’来代替圆的半径,而不是用‘r’来表示。同样,函数名‘calculateArea’要比其他任何隐晦的缩写要好得多。匆忙之下,我们也许会使用缩写的变量名,但一开始节省时间的话,之后会浪费更多的时间,去猜测缩写变量名代表什么。(编注:)

  9. 为后面的调试使用打印语句,这是个好习惯。但是,当完成***代码后,去掉这些语句,有时也是一项危险的任务。添加一个方法,用于输出调试信息。当最终版本生成时,只要把这个方法注释掉就行。因此,只在一个地方做修改就可以了。

  10. 代码编写完之后,开始优化代码。之前声明的一些变量,现在可能没用了。同样,并不依赖循环的一些声明可以移到循环模块之外去。扎实的编译知识同样会对以后的代码优化有所帮助。

  11. 对自己的操作系统和硬件要有足够的了解,你可以从资源占用等方面提升程序的性能。

  12. 编写代码时要合理使用缩进,以使代码清晰可读。

  13. 把项目文件放到SOURCE、HEADERS、MAKE、EXES等不同的文件夹中。

  14. 研究别人编写的代码。这可以让你学习到新的编程技术,以及他们解决和你相同的任务时所使用的方法。

  15. ***一条(但不是最不重要的一条),备份源代码文件,这样当硬盘出错或相同的问题发生时,不至于前功尽弃。

  附加:补充一条,坚持使用一种命名模式。如果你打算用匈牙利命名法,那就坚持并广泛使用,否则将适得其反。参见微软资深工程师 Eric Lippert 的这篇文章《阅读代码不简单》。

  编者后话

  编程的好习惯应不止这15条,也许您不认同上文中的某些观点,请标出相应序号,并说明其不足之处。另外,非常欢迎大家补充分享您的好习惯。

  原文链接:15 Good Computer Programming Habits

  译文链接:http://www.jobbole.com/entry.php/581

责任编辑:韩亚珊 来源: CSDN
相关推荐

2011-03-24 09:25:54

程序员编程

2020-04-22 10:35:07

编程学习技术

2009-01-03 10:40:41

PHP编程代码

2009-01-03 14:34:49

ibmdwPHP

2011-07-07 15:26:28

PHP编程习惯

2011-07-07 15:48:22

PHP编程习惯

2011-07-07 15:36:51

PHP

2017-09-01 11:01:22

开发编程习惯

2011-04-13 10:16:41

编程习惯

2022-10-08 10:42:20

Linux虚拟机

2020-11-02 13:03:28

MySQLSQL索引

2024-02-26 08:13:51

MySQLSQL性能

2021-08-17 09:55:50

pandas 8indexPython

2016-12-29 11:24:13

编程干货

2015-04-23 16:28:06

开发项目编程习惯

2015-08-17 10:13:35

ios习惯高效

2014-10-13 11:00:14

编程习惯不良开发项目

2014-09-24 10:18:29

开发者开发习惯

2009-02-12 09:44:48

Web应用高性能习惯

2022-06-10 08:25:19

pandasoptionPython
点赞
收藏

51CTO技术栈公众号