00RulesandGuidelinesofCodingStyle

上传人:平*** 文档编号:47671749 上传时间:2018-07-04 格式:PPT 页数:25 大小:99.14KB
返回 下载 相关 举报
00RulesandGuidelinesofCodingStyle_第1页
第1页 / 共25页
00RulesandGuidelinesofCodingStyle_第2页
第2页 / 共25页
00RulesandGuidelinesofCodingStyle_第3页
第3页 / 共25页
00RulesandGuidelinesofCodingStyle_第4页
第4页 / 共25页
00RulesandGuidelinesofCodingStyle_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《00RulesandGuidelinesofCodingStyle》由会员分享,可在线阅读,更多相关《00RulesandGuidelinesofCodingStyle(25页珍藏版)》请在金锄头文库上搜索。

1、代码规范rules and guidelines of Coding Style哈尔滨工业大学计算机科学与技术学院苏小红 1*制作人 苏小红2程序版式对齐(Alignment)与缩进(indent)保证代码整洁、层次清晰的主要手段 “”位置的两种风格和独占一行,且位于同一列,与引用它们的语句左对齐, 便于检查配对情况 位于同一层和之内的代码在右边数格处左对齐, 即同层次的代码在同层次的缩进层上 一般用设置为4个空格的Tab键缩进,不用空格缩进*制作人 苏小红3void Function(int ) / program code void Function(int ) / program cod

2、e if (condition) / program code else / program code if (condition) / program code else / program code for (initialization; condition; update) / program code for (initialization; condition; update) / program code while (condition) / program code while (condition) / program code 如果出现嵌套的,则使用缩进对齐,如 : 建议

3、的风格建议的风格不建议的风格不建议的风格*制作人 苏小红4程序版式现在的许多开发环境、编辑软件都支持“自动 缩进” 根据用户代码的输入,智能判断应该缩进还是反 缩进,替用户完成调整缩进的工作VC中有自动整理格式功能 只要选取需要的代码,按ALT+F8就能自动整理 成微软的cpp文件格式*制作人 苏小红5程序版式变量的对齐规则 数据类型 + N个TAB + 变量名 + N个TAB +=+初始化值 ; 例char name20;char addr30;char se = F;int age = 20;float score = 90;*制作人 苏小红6程序版式空行分隔程序段落的作用 在每个类声明之

4、后加空行 在每个函数定义结束之后加空行 在一个函数体内,相邻两组逻辑上密切相关的语句块之间加空 行,语句块内不加空行 / 空行 void Function1() / 空行 void Function2() / 空行 void Function3() / 空行 while (condition) statement1; / 空行 if (condition) statement2; else statement3; / 空行 statement4; *制作人 苏小红7程序版式代码行内的空格增强单行清晰度 关键字之后加空格 函数名之后不加空格 赋值、算术、关系、逻辑等二元运算符前后各加一空格,但一

5、元运算 符前后一般不加空格sum = sum + term; (向后紧跟,) , ;向前紧跟,紧跟处不留空格 , ;后留一个空格Function(, y, z)for (initialization; condition; update) . - 前后不加空格 对表达式较长的for和if语句,为了紧凑可在适当地方去掉一些空格for (i=0; ic) / 良好的风格 void Func1 (int ,int y,int z); / 不良的风格printf(“%d%d%d“, a, b, c); / 良好的风格 printf(“%d%d%d“,a,b,c); / 不良的风格 if (year =

6、 2000) / 良好的风格 if(year=2000) / 不良的风格 if (a=b) / 不要写成 b - Function();程序版式*制作人 苏小红9程序版式代码行 一行只写一条语句,这样方便测试 一行只写一个变量,这样方便写注释 int width; /宽度int height; /高度int depth; /深度 尽可能在定义变量的同时,初始化该变量 int sum = 0; if、for、while、do等语句各占一行,执行语句无论有几条都用 和将其包含在内,这样便于维护 if (width = veryLongVar2) double FunctionName(double

7、 variablename1, double variablename2); for (very_longer_initialization;very_longer_condition;very_longer_update) DoSomething(); *制作人 苏小红12标识符命名规则按照执行级别分为: 共性规则必须执行 简化规则建议采用 可选规则灵活运用*制作人 苏小红13标识符命名的共性规则直观可以拼读,见名知意,不必解码最好采用英文单词或其组合,切忌用汉语拼音尽量避免出现数字编号不要出现仅靠大小写区分的相似的标识符不要出现名字完全相同的局部变量和全局变量用正确的反义词组命名具有互斥意

8、义的变量或相反 动作的函数 int minValue; int maValue; int GetValue(); int SetValue();*制作人 苏小红14标识符命名的共性规则尽量与所采用的操作系统或开发工具的风格保持 一致 在Linu/Uni平台习惯用“小写加下划线”function_name variable_Name Windows风格大小写混排的单词组合而成 FunctionName variableName*制作人 苏小红15Windows应用程序命名规则Microsoft公司的Hungarian Notation主要思想 在变量和函数名前加上前缀,用于标识变量的数据类型 限

9、定范围的前缀 + 数据类型前缀 + 有意义的英文单词 限定范围的前缀静态变量前加前缀s_ ,表示static全局变量前加前缀g_ ,表示global类内的成员函数m_默认情况为局部变量 数据类型前缀ch 字符变量前缀i 整型变量前缀f 实型变量前缀p 指针变量前缀*制作人 苏小红16Windows应用程序命名规则缺点 烦琐 例如int i, j, k; float , y, z; 若采用匈牙利命名规则,则应写成int iI, iJ, ik; /前缀i表示int类型float f, fY, fZ; /前缀f表示float类型*制作人 苏小红17简化的Windows应用程序命名规则变量名形式 小写

10、字母开头 “名词”或者“形容词+名词”如oldValue, newValue等函数名形式 大写字母开头 “动词”或者“动词+名词”(动宾词组)如GetValue(), SetValue()等 宏和const常量全用大写字母,并用下划线分割单词 #define ARRAY_LEN 10 const int MA_LEN = 100;*制作人 苏小红18灵活运用的命名规则限定范围的前缀与数据类型前缀可要可不要无特殊意义的循环变量可以直接定义成i,j,k等 单字母变量*制作人 苏小红19注释规范不好的注释 i = i + 1; /i加1 return -1; /返回-1 free(p); /释放p所

11、指的内存 fclose(fin); /关闭文件/*/ /*功能描述: 本函数用于实现功能,目的是: */*入口参数: 参数p,表示指向结构体的指针 */*出口参数: 参数,表示 */*返回值: 返回值,当返回值时,表示 */ /*/*制作人 苏小红20注释规范不好的注释不但白写,还扰乱了读者的视线/*以二进制只读方式打开文件并判断打开是否成功*/ if (fin = fopen(“cat.pic“,“rb“) = NULL) puts(“打开文件cat.pic失败“);/*如果打开失败,则显示错误信息*/return -1; /*返回-1*/ /*从图像的第1行到第400行循环*/ for (

12、i=0; i400; i+)/*从图像的第1列到第400列循环*/for (j=0; j400; j+) /*按照公式Y = 0.299*R+0.587*G+0.114*B计算灰度值*/y = (299 * r + 587 * g + 114 * b) / 1000; fclose(fin); /*关闭文件*/*制作人 苏小红21注释规范好的注释(尤其是算法注释)是对设计思想的精确表述和清晰展现,能揭示代码背后隐藏的重要信息/*打开输入文件后判断文件长度是否符合格式要求*/ if (fin = fopen(“cat.pic“,“rb“) = NULL) puts(“打开文件cat.pic失败“

13、);return -1; /* 下面是图像转换的算法实现。彩色图像到灰度图像的转换主要利用RGB颜色空间到* YUV颜色空间的变换公式来取得灰度值,公式为Y = 0.299*R+0.587*G+0.114*B*/ for (i=0; i400; i+)for (j=0; j400; j+) y = (299 * r + 587 * g + 114 * b) / 1000; fclose(fin); *制作人 苏小红22注释规范在哪些地方写注释? 在重要的文件首部文件名 + 功能说明 + 作者 + 版本 + 版权声明 + 日期 在用户自定义函数前对函数接口进行说明函数功能 + 入口参数 +出口参数 + 返回值 (包括出错处理) 在一些重要的语句块上方对代码的功能、原理进行解释说明 在一些重要的语句行右方定义一些非通用的变量函数调用较长的、多重嵌套的语句块结束处 在修改的代码行旁边加注释*制作人 苏小红23注释规范函数的注释风格 C风格 /*/ /*功能描述: 本函数用于实现功能,目的是: */*入口参数: 参数,表示 */*出口参数: 参数,表示 */*返回值: 返回值,当返回值时,表示 */ /*/ /*功能描述: 本函数用于实现功能,目的是:入口参数: 参数,表示出口参数:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号