收藏 分享(赏)

编程规范讲义 PPT.ppt

上传人:君。好 文档编号:1435011 上传时间:2018-07-17 格式:PPT 页数:144 大小:319.50KB
下载 相关 举报
编程规范讲义 PPT.ppt_第1页
第1页 / 共144页
编程规范讲义 PPT.ppt_第2页
第2页 / 共144页
编程规范讲义 PPT.ppt_第3页
第3页 / 共144页
编程规范讲义 PPT.ppt_第4页
第4页 / 共144页
编程规范讲义 PPT.ppt_第5页
第5页 / 共144页
点击查看更多>>
资源描述

1、2002.11.30,1,编程规范的作用,提高源程序的可读性和可维护性 降低错误的机会提高源代码可重用性和质量,2002.11.30,2,规范的三种形式,原则:编程时应该坚持的指导思想。规则:编程时必须遵守的约定。建议:编程时必须加以考虑的约定。,2002.11.30,3,规范的内容,1 基本原则2 布 局3 注 释4 命名规则5 变量、常量与类型6 表达式与语句7 函数与过程8 可靠性9 可测试性10 断言与错误处理,2002.11.30,4,基本原则,【原则1-1】首先是为人编写程序,其次才是计算机。 说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升

2、级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力。,2002.11.30,5,基本原则,【原则1-2】保持代码的简明清晰,避免过分的编程技巧。 简单是最美。保持代码的简单化是软件工程化的基本要求。不要过分追求技巧,否则会降低程序的可读性。,2002.11.30,6,基本原则,【原则1-3】所有的代码尽量遵循ANSI C标准。 所有的代码尽可能遵循ANSI C标准,尽可能不使用ANSI C未定义的或编译器扩展的功能。,2002.11.30,7,基本原则,【原则1-4】编程时首先达到正确性,其次考虑效率。 编程首先考虑的是满足正确性、健壮性、可维护性、可移植性等质量因素,最后才考虑程

3、序的效率和资源占用。,2002.11.30,8,基本原则,【原则1-5】避免或少用全局变量。 过多地使用全局变量,会导致模块间的紧耦合,违反模块化的要求 。,2002.11.30,9,基本原则,【原则1-6】尽量避免使用GOTO语句。,2002.11.30,10,基本原则,【原则1-7】尽可能复用、修正老的代码。 尽量选择可借用的代码,对其修改优化以达到自身要求。,2002.11.30,11,基本原则,【原则1-8】 尽量减少同样的错误出现的次数。 事实上,我们无法做到完全消除错误,但通过不懈的努力,可以减少同样的错误出现的次数。,2002.11.30,12,布局,【规则2-1-1】遵循统一的

4、布局顺序来书写头文件。 #ifndef 文件名_H(全大写) #define 文件名_H 其它条件编译选项 #include(依次为标准库头文件、非标准库头文件)常量定义全局宏全局数据类型类定义模板(template)(包括C+中的类模板和函数模板)全局函数原型#endif,2002.11.30,13,布局,【规则2-1-2】遵循统一的布局顺序来书写实现文件。 文件头注释#include(依次为标准库头文件、非标准库头文件)常量定义文件内部使用的宏 文件内部使用的数据类型全局变量本地变量(即静态全局变量)局部函数原型类的实现全局函数局部函数,2002.11.30,14,布局,【规则2-1-3】

5、使用注释块分离上面定义的节。 / * * 数据类型定义 * * / typedef unsigned char BOOLEAN; /* * 函数原型 * */ int DoSomething(void);,2002.11.30,15,布局,【规则2-1-4】头文件必须要避免重复包含。#ifndef MODULE_H#define MODULE_H 文件体#endif,2002.11.30,16,布局,【规则2-1-5】包含标准库头文件用尖括号 ,包含非标准库头文件用双引号 “ ”。#include #include “heads.h”,2002.11.30,17,布局,【规则2-1-6】遵循统

6、一的顺序书写类的定义及实现。 类的定义(在定义文件中)按如下顺序书写:公有属性, 公有函数,保护属性, 保护函数私有属性, 私有函数类的实现(在实现文件中)按如下顺序书写: 构造函数,析构函数公有函数保护函数私有函数,2002.11.30,18,布局,【规则2-2-1】程序中一行的代码和注释不能超过80列。 包括空格在内不超过80列。,2002.11.30,19,布局,【规则2-2-2】if、else、else if、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加 。 if (varible1 varible2) varible1 = varible2;

7、 反例: if (varible1 ”这类操作符前后不加空格。 !bValue,iValue,+iCount,*strSource,&fSum,aiNumberi = 5,tBox.dWidth,tBox-dWidth,2002.11.30,25,布局,【规则2-4-3】多元运算符和它们的操作数之间至少需要一个空格。fValue = fOldValue;fTotal + fValueiNumber += 2;,2002.11.30,26,布局,【规则2-4-4】关键字之后要留空格。 if、for、while等关键字之后应留一个空格再跟左括号(,以突出关键字。,2002.11.30,27,布局,

8、【规则2-4-5】函数名之后不要留空格。 函数名后紧跟左括号(,以与关键字区别。,2002.11.30,28,布局,【规则2-4-6】(向后紧跟,)、,、;向前紧跟,紧跟处不留空格。,之后要留空格。;不是行结束符号时其后要留空格。 for凵(i凵=凵0;凵i凵= -EPSINON) & (fResult B-C-A),影响程序的可理解性;递归调用一般都占用较多的系统资源(如栈空间);递归调用对程序的测试有一定影响。故除非为某些算法或功能的实现方便,应减少没必要的递归调用。 对于前台软件为了系统的稳定性和可靠性,往往规定了进程的堆栈大小。如果采用了递归算法,收敛的条件又往往难以确定,很容易使得进程的堆栈溢出,破坏系统的正常运行;另外,由于无法确定递归的次数,降低了系统的稳定性和可靠性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报