编程规范-程序员们都应该这样写代码

基本要求

1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。

1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。

1.3 尽量使用标准库函数和公共函数。

1.4 不要随意定义全局变量,尽量使用局部变量。

1.5 使用括号以避免二义性。

2.可读性要求

2.1 可读性第一,效率第二。

2.2 保持注释与代码完全一致。

2.3 每个源程序文件,都有文件头说明,说明规格见规范。

2.4 每个函数,都有函数头说明,说明规格见规范。

2.5 主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。

2.7 常量定义(DEFINE)有相应说明。

2.8 处理过程的每个阶段都有相关注释说明。

2.9 在典型算法前都有注释。

2.10 利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为 6个字节。

2.11 循环、分支层次不要超过五层。

2.12 注释可以与语句在同一行,也可以在上行。

2.13 空行和空白字符也是一种特殊注释。

2.14 一目了然的语句不加注释。

2.15 注释的作用范围可以为:定义、引用、条件分支以及一段代码。

2.16 注释行数(不包括程序头和函数头说明部份)应占总行数的 1/5 到 1/3 。

3. 结构化要求

3.1 禁止出现两条等价的支路。

3.2 禁止GOTO语句。

3.3 用 IF 语句来强调只执行两组语句中的一组。禁止 ELSE GOTO 和 ELSE RETURN。

3.4 用 CASE 实现多路分支。

3.5 避免从循环引出多个出口。

3.6 函数只有一个出口。

3.7 不使用条件赋值语句。

3.8 避免不必要的分支。

3.9 不要轻易用条件分支去替换逻辑表达式。

4. 正确性与容错性要求

4.1 程序首先是正确,其次是优美

4.2 无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。

4.3 改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。

4.4 所有变量在调用前必须被初始化。

4.5 对所有的用户输入,必须进行合法性检查。

4.6 不要比较浮点数的相等,

如: 10.0 * 0.1 == 1.0 , 不可靠

4.7 程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机是否联机等。

4.8 单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。

时间: 2024-12-26 10:42:48

编程规范-程序员们都应该这样写代码的相关文章

十二星座的“程序员”,都是怎么写代码的?

白羊座 怎么可能看到一整段白羊座程序员写的完整代码!他们的电脑里大概存了三万多个文档,都是极其美妙的开头,然后呢?然后就没有然后了!人说金鱼的记忆只有7秒,白羊座程序员对一段新代码的热情大概只有25.7142857条金鱼那么长吧. 金牛座 金牛座程序员写起代码来那真叫一个惜代码如金,清晰,简洁,毫不拖泥带水,没有半句废话.啥?注释?还要啥自行车啊这位同学!写注释多废纸啊! 双子座 双子座程序员自带多套互不干扰.独立运行的代码编写系统,代码编写风格切换起来毫无障碍,单看他心里哪个小人揍趴下了其他小

编程必备,程序员应该都知道的7款文本编辑器

简评:正如一个作家需要一个文字处理器来写故事,一个艺术家需要画布来创作,同样的,如果想编程,你会需要一个地方来写代码.程序员在哪里编写代码?最常见的就是使用文本编辑器了吧.下文列出了 7 个主流的文本编辑器,不出意外的话,开发人员应该都有所了解,至少听说过.7款文本编辑器,总有一款会适合你. 1.Sublime 2 & 3 Sublime Text 是许多开发人员日常使用的经典文本编辑器,可用于包括 Windows.Mac.Linux 等多个平台.不过虽然可以不购买许可证免费使用,但不时会有弹窗

新人 学习方向-我想知道一名程序员需要都了解什么知识?

问题描述 我想知道一名程序员需要都了解什么知识? 我现在是一名大二软件专业的学生,我挺喜欢这个专业的,但是学了一年多有点迷茫,我想知道如果我想好好走下去,我都应该了解什么知识,比如都需要学会什么语言,学到什么程度,谢谢各位 解决方案 熟悉JAVA语言,现在44%的开发者使用的是java语言,16%多的人使用的四C#,13%多点的人使用的是C语言. 如果你也想从事java开发的话,数据库也很重要.大学应该讲的是MySql吧!数据库的增删改.

程序员周末都喜欢做什么?

程序员周末都喜欢做什么?在公司加班?在家里加班?看电影?睡觉?程序员都怎么找女朋友?百分之八十的程序员表示,女朋友是啥,有好基友就够了.程序员都去哪些网站呢?嘿嘿嘿... https://yqfile.alicdn.com/e0169e2adae952181083845c4662d4fad478b69d.png" > 文章转载自 开源中国社区 [http://www.oschina.net]

程序员必知35个jQuery 代码片段_jquery

jQuery如今已经成为Web开发中最流行的JavaScript库,通过jQuery和大量的插件,你可以轻松实现各种绚丽的效果.本文将为你介绍一些jquery实用的技巧,希望可以帮助你更加高效地使用jQuery. 收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发. 1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); });

编程基础-程序员的迷茫之要不要啃基础

问题描述 程序员的迷茫之要不要啃基础 有人说学编程应该从c/c++开始学起,然后学习数据结构.操作系统,因为那些语言更接近系统,理解了这些然后再学习.netjava这些高级语言就会轻松很多.而不是直接上来就学习asp.net拖控件,拖完不知道这些控件是怎么产生的,用起来总感觉虚的很.而且不了解操作系统,写出来的代码的性能注定不是很好,瓶颈会很低.我自己在大学就没好好学习那些基础,出来也是直接接触的上层代码,大家觉得要不要再回头就啃基础.迷茫中..求大神解惑 解决方案 学当然有用,问题是什么时候学

程序员是否都要面对“换语言即淘汰”

昨天回复了一封来信,发表为博文<并不是所有软件开发人员都能高薪>,他的回信钩起了需要深入的另一个纠结人的话题. [来信] 谢谢贺老师!让你睡不着表示歉意. 其实我只想一句话来表达对贺老师回复的谢意,但我也想表达下我的想法. 如果贺老师有时间的话,可以看一看. 我填写大学志愿的时候,填写的是计算机应用专业,后来被安排了生物工程,05年生物工程属热门专业,但09年毕业后,大部分的同学要么考研要么从事其它行业. 当初上大学,是由我父亲决定的,我也就读完了.我自己觉得,之所以读这个专业, 一是我刚好属

程序员每天都在使用的6个惊讶的软技能

如果你想要开启作为web开发人员的职业生涯,那么你需要涉及的不仅仅是知道如何写代码. 有一些通用的软技能几乎可用于每个领域--包括技术行业. 成为软件开发人员涉及的不仅仅是编写代码.自从我开始我的第一份作为软件开发人员的工作之后,我很快就知道了这一点.如果你想要在这个领域茁壮成长的话,那么你需要学习"特定的技能系列". 你看,每一家公司都有一个大局.除了写代码,你需要利用其他技能,使自己更有影响力,从而赚取更多的money. 在我作为一名开发人员的任职期间,我学会了除了编程之外还需要掌

PHP程序员一般都忽略了的几点精华

程序|程序员|精华 我发现很多的PHP程序员,尤其是学习还不是很久的,都不知道PHP的精华所在.Perl当年如何在商界出名?其强大的正则表达式.而PHP呢?他是一门从Unix下发展起来的语言,当然也就继承了Perl的很多特点,同时C的优点都有.快速.简洁.明了,尤其是C程序员,PHP是至爱,我就是深爱着"PHP"(都忘了女友了:)).这里,我想来写一篇PHP的变量.数组应用技巧和PHP的正则表达式.PHP的模板应用,以后有时间再写PHP与COM.PHP与XML的完全结合. 1.变量.数