- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言零缺陷编程问题的研究
摘要:C语言是一种用途广泛、使用方便的编程语言。但是它也存在着语法检验不够严格等问题。该文章根据软件编程方法并结合C语言的特点创设零缺陷编程方法,以供广大编程爱好者借鉴。
关键词:C语言;编程规范;零缺陷;测试
C语言简单、易用,是许多编程爱好者的首选语言。但由于C语言的语法不是很严格,许多程序设计者在编程过程中会遇到许多错误,在程序设计方法上,国外有许多学者对程序零缺陷程序设计提出了自已的观点和方法。如美国管理学家philipb。croby的“零缺陷”思想引进来,用以提高编程的质量,增大软件中的验证力度。IBM公司70年代末和80年代初提出的“净室软件工程”(clean room software engineering),“净室”一词源于精密半导体器件中的无尘生产车间,它强调在生产过程中就消除问题,而不是在产品生产以后,才依靠检测来挑选有问题的产品。传统的软件工程建模、形式化方法、程序验证(正确性证明)、以及统计SQA的集成使用已经组合成一种可以导致极高质量软件的技术。净室软件工程(Cleanroom software engineering)是一种在软件开发过程中强调在软件中建立正确性的需要的方法。本文通过建立良好的C语言的编程风格,避免出现常见的错误,并通过净室过程的方法来提高C语言编程的效率。
1 良好的编程风格
良好的编程风格可以在许多方面帮助开发人员。如果你阅读过 Linux 内核源代码的话,可能会对程序的优美编排所倾倒。良好的编程风格可以增加代码的可读性,并帮助你理清头绪。如果程序非常杂乱,大概看一眼就该让你晕头转向了。编程风格最能体现一个程序员的综合素质。
许多人可能对 Windows 所推崇的匈牙利命名法很熟悉。这种方法定义了非常复杂的函 数、变量、类型等的命名方法,典型的命名方法是采用大小写混写的方式,对于变量名称,则采用添加前缀的办法来表示其类型,例如:
char szBuffer[20];
int nCount;
利用 sz 和 n 分别代表字符串和整数。为了表示一个变量名称,采用如下的变量名称是可能的:
int iThisIsAVeryLongVariable;
在 Linux 中,我们经常看到的是定义非常简单的函数接口和变量名称。在 Linux 内核的源代码中,可以看到 Linux 内核源代码的编码风格说明。UNIX 系统的一个特点是设计精巧,并遵守积木式原则。C 语言最初来自 UNIX操作系统,与 UNIX 的设计原则一样, C 语言被广泛认可和使用的一个重要原因是它的灵活性以及简洁性。因此,在利用 C 语言编写程序时,始终应当符合其简洁的设计原则,而不应当使用非常复杂的变量命名方法。C 语言编程代码格式要点如下:
缩进时,使用长度为 8 个字符宽的 Tab 键。如果程序的缩进超过 3 级,则应考虑重新设计程序。
大括号的位置。除函数的定义体外,应当将左大括号放在行尾,而将右大括号放在行首 。函数的定义体应将左右大括号放在行首。对变量名,不赞成使用大小写混写的形式,但鼓励使用描述性的名称;尽可能不使用全局变量;不采用匈牙利命名法表示变量的类型;采用短小精悍的名称表示局部变量;保持函数短小,从而避免使用过多的局部变量。保持函数短小精悍。不应过分强调注释的作用,应尽量采用好的编码风格而不是添加过多的注释。函数函数应该短小而迷人,而且它只作一件事情,并且只作一件事情,而且将它做好。一个函数的最大(中国论文联盟整理)长度和函数的复杂程度以及缩进大小成反比。于是,如果你已经写了简单但长度较长的的函数,而且你已经对不同的情况做了很多很小的事情,写一个更长一点的函数也是无所谓的。然而,假如你要写一个很复杂的函数,而且你已经估计到假如一般人读这个函数,他可能都不知道这个函数在说些什么,这个时候,使用具有描述性名字的有帮助的函数。另外一个需要考虑的是局部变量的数量。他们不应该超过5-10个,否则你有可能会出错。重新考虑这个函数,将他们分割成更小的函数。
注释是一件很好的事情,但是过多的注释也是危险的,不要试图区解释你的代码是注释如何如何的好,你应该将代码写得更好,而不是花费大量的时间去解释那些糟糕的代码。
2 C语言中容易出现的问题
C语言由于语法检查不是很严格,所以程序的编写过程中它会出现一些你意想不到的问题。下面举一些简单的例子来说明这一点。
2.1 赋值语句与比较语句容易出现混淆
我们举一个简单的例子:
如果x等于y,则打印。我们有时候会写成
(x=y) printf();
这实际上把比较语句和赋值语句混淆起来了,真正的语句应该写成这样
(x==y) prin
您可能关注的文档
- 2 求含有负权边的图的单源最短路径——Bellman Ford算法与SPFA算法综合分析(下).doc
- 2-2承诺书.doc
- 2-1 第2章 信源的数学模型和分类.ppt
- 2-并联机器人机构的构型研究.pdf
- 2.3.2 凸透镜成像 小结讲义与默写表格 2010-11-22版.ppt
- 2-4生物细胞中的糖类和脂质课件.ppt
- 2.4 焊板粉非.ppt
- 2-2气压带风带-改.ppt
- 2.tips 讲解.doc
- 2000导游资格考试题.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)