发博文
不关花落

http://blog.chinaunix.net/space.php?uid=20680497

春困秋乏   
个人资料
  • 博客访问:3528
  • 博文数量:5
  • 博客积分:150
  • 博客等级:民兵
  • 注册时间:2009-04-06 09:50:27
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文
C编程规范与质量随写 (2011-06-11 11:20)
标签C语言  软件  分类: C语言质量


在项目的实践中,对于纯粹的C语言程序来说,如果不遵守以下“教条”,那么软件质量终究是难于控制的,如果你使用的还是CMMI流程,那么后期的测试出来的问题也会是相当的严重和千奇百怪的。
 
1. 函数大小不准超过50行
    一般说来,C语言中的每个函数的代码平均只有20~30行是比较理想的。而且正常的C函数调用其他函数的个数不超过3个。
    这样的代码通常是易读的代码。对于这样的代码不用写太多的注释,甚至不用注视,完全依赖变量和函数的命名就行理解函数的含义。到了项目后期,代码也可以很容易进行修改而不引入问题。
    其次,函数在变小之后,通常就会发现若干重复代码,有利于对重复代码就行合并。
    如果在项目中使用UT来进行质量控制的话,那么这条规则是非常重要的。大于50行的代码是非常难读和进行单元测试的,特别是需要进行函数打桩的时候。
 
2. 只准使用静态全局变量,不准使用在每个文件都可以直接访问的全局变量。
   从接口编程的角度来看,全局变量也是一种接口。如果定义了一个全局变量,那么这个变量每个模块都可以访问。但是通常的时候是全局变量有一个取值范围,例如,计数器的值不能为负,状态值只能取有意义的值,而且在状态之间进行变化会有限制。但是全局变量通常无法将这些信息表现出来。因此,在C编程中使用全局变量是很危险的事情,会直接导致项目开发过程中丢失了大量附带信息。
    对于全局变量的一个很好的重构方法是使用静态全局变量,只在本文件中直接使用,同时提供访问函数,这样可以显著减少全局变量带来的危害。

亲,您还没有登录,请[登录][注册]后再进行评论