2022年程序编写规则 .pdf
《2022年程序编写规则 .pdf》由会员分享,可在线阅读,更多相关《2022年程序编写规则 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序编写规范一、程序编写原则A、基本要求1、程序结构要求1.1 程序结构清晰,简单易懂,单个函数的程序行数不得超过100 行。1.2 打算干什么,要简单,直截了当,代码精简,避免垃圾程序。1.3 尽量使用 .NET 库函数和公共函数(无特殊情况不要使用外部方法调用windows 的核心动态链接库 )。1.4 不要随意定义全局变量,尽量使用局部变量。2、可读性要求2.1 可读性第一,效率第二 (代码是给人读的 J)。2.2 保持注释与代码完全一致。2.3 每个源程序文件,都有文件头说明,说明规格见规范。2.4 每个函数,都有函数头说明,说明规格见规范。2.5 主要变量(结构、联合、类或对象)定义
2、或引用时,注释能反映其含义。2.6 处理过程的每个阶段都有相关注释说明。2.7 在典型算法前都有注释 , 同时算法在满足要求的情况下尽可能简单。2.8 利用缩进来显示程序的逻辑结构, 缩进量一致并以 Tab键为单位,定义 Tab为 6 个字节。2.9 循环、分支层次尽量不要超过五层。2.10 注释可以与语句在同一行,也可以在上行。2.11 空行和空白字符也是一种特殊注释。2.12 一目了然的语句不加注释。2.13 注释的作用范围可以为:定义、引用、条件分支以及一段代码。2.14 注释行数(不包括程序头和函数头说明部份)应占总行数的1 / 5 到 1 / 3 2.15 常量定义( DEFINE)
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、 1 页,共 9 页 - - - - - - - - - 4.2 无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。4.3 改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。4.4 所有变量在调用前必须被初始化。4.5 对所有的用户输入,必须进行合法性检查。4.6 不要比较浮点数的相等。如: 10.0 * 0.1 = 1.0 , 不可靠4.7 程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机是否联机等,对于明确的错误 ,要有明确的容错代码提示用户。4.8 单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。5、可重用
5、性要求5.1 重复使用的完成相对独立功能的算法或代码应抽象为服务或类。5 .2 服务或类应考虑 OO 思想,减少外界联系,考虑独立性或封装性。B、程序优化及注意点二、程序注释规范程序注释规范包括:源文件注释规范、类注释规范、自定义方法函数注释规范、代码间注释。1、源文件注释规范建议的源文件头部注释示例如下:/* * 文件名:* 创建人:* 日期:* 描述:* 修改记录:*/2、类注释规范A、类开始部分必须以如下形式书写注释:/* * 类编号: * 描述: * 作者:作者中文名* 编写日期: */ 类头还需要 xml 格式的注释说明该类用处,donet 在外部调用该类时会将此注释显示出来,更利于
6、对此类的了解。格式如下:/ /租车记录实例类/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - B、类属性注释在类的属性前必须以如下格式编写属性注释。/ /属性说明(如:出生日期)/ 3、自定义方法函数注释规范/ / ( 描述 ) 设置车辆信息/ / 车辆信息类 4、代码注释规范A、一个函数中有多个if、else、for 等嵌套时,可用空格或是空行来进行区分(特殊的注释)或是在条件结束时加入注释,例如:privatevoid E
7、xample() if ( 条件 1 ) if ( 条件 2 ) for ( int i = 0; i 10;i+ ) if ( 条件 3) / end for (int i = 0; i 10;i+ ) / end if (条件 2) / end if (条件 1)else B、一个业务逻辑较强的功能函数需要对详细步骤做详细注释。C、一个页面代码中若功能类似的函数均使用外侧代码(即用#region 与#endregion注释代码)进行说明,以保证代码的整洁。例如: #region Form1事件privatevoid Form1_Load( object sender, EventArgs
8、e) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - / 窗体加载事件 privatevoid Frm_Main_FormClosed( object sender, FormClosedEventArgs e) / 窗体关闭事件 #endregion三、程序命名规范据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是成败悠关 的事,我们不要花太多精力试图发明世界上最好
9、的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。共性规则:是被大多数程序员采纳的,我们应当在遵循这些共性规则的前提下,再扩充特定的规则。【规则 1】标识符应当直观且可以拼读,可望文知意,不必进行解码 。标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文 单词一 般 不会太 复杂,用词应当准 确。例如不要把CurrentValue写成 NowValue。【规则 2】标识符的长度应当符合min-length & max-information原则。几十年前老 ANSI C 规定名字不准超过6 个字符,现今的 C+/C 不再有此限制。一
10、般来说,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。那么名字是否越长约好?不见得! 例如变量名 maxval 就比maxValueUntilOverflow 好用。单字符的名字也是有用的,常见的如i,j,k,m,n,x,y,z等,它们通常可用作函数内的局部变量。【规则 3】程序中不要出现仅靠大小写区分的相似的标识符。例如:int x, X;/ 变量 x 与 X 容易混淆void foo(int x);/ 函数 foo 与FOO 容易混淆void FOO( float x);【规则 4】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语
11、法错误,但会使人误解。【规则 5】变量名命名规则:类型缩写(详见附表1)+下划线 +名称名称:使用 名词或者形容词名词 例如:string str_Value;float f_OldValue;1 常量全用大写的字母,用下划线分割单词名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 例如:constint MAX = 100; constint MAX_LENGTH = 100;2 静态变量加前缀 s_(表示 static)例如:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年程序编写规则 2022 程序 编写 规则
限制150内