电子科技大学-C语言代码规范及风格课件
电子科技大学-C语言代码规范及风格课件
代码规范
电子科技大学-C语言代码规范及风格课件
关于代码风格问题
代码风格(Coding Style)是一种习惯 现在许多大公司都对员工书写代码制定了规范 开发大项目时由项目管理者制定代码规范 程序风格的重要构成因素 – 程序版式 – 命名规则 – 函数设计原则 其他 – 表达式规则 – 与零比较 – 常量规则 – 动态数组 – 内存管理2013-3-13 2
电子科技大学-C语言代码规范及风格课件
程序版式
程序版式——程序员的书法 – 比书法好学得多,基本不需要特别练习
但是坏习惯一旦养成,就像书法一样难以改变
不影响程序的功能,但影响程序的可读性 追求 – 清晰、整洁、美观、一目了然 – 容易阅读,容易测试
2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
不良的风格#include <stdio.h> #include <math.h>main() {int i; for (i=2;i<100;i++) {if(isprime(i)) printf("%d\t",i); } } int isprime(int n) {int k,i; if (n == 1) return 0; k=sqrt((double)n); for (i=2;i<=k;i++) {if(n%i==0) return 0;} return 1; }
2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
良好的风格int isprime(int n) { int k, i; if (n == 1) return 0; k = (int)sqrt((double)n); for (i=2; i<=k; i++) { if (n % i == 0) return 0; } return 1; }5
#include <stdio.h> #include <math.h> main() { int i; for (i=2; i<100; i++) { if (isprime(i)) printf("%d\t", i); } }2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
对齐(Alignment)与缩进(indent) ——保证代码整洁、层次清晰的主要手段 – “{”位置的两种风格
{和}独占一行,且位于同一列,与引用它们的语句左对齐, 便于检查配对情况
– 位于同一层{和}之内的代码在{右边数格处左对齐,即同层次的代码在同层次的缩进层上 – 一般用设置为4个空格的Tab键缩进,不用空格缩进
2013-3-13
电子科技大学-C语言代码规范及风格课件
建议的风格void Function(int x) { … // program code } if (condition) { … // program code } else { … // program code } for (initialization; condition; update) { … // program code } while (condition) { … // program code } 如果出现嵌套的{},则使用缩进对齐,如 : { … { … } … 2013-3-13 }
不建议的风格void Function(int x){ … // program code }if (condition){ … // program code } else { … // program code } for (initialization; condition; update){ … // program code } while (condition){ … // program code }
电子科技大学-C语言代码规范及风格课件
程序版式
现在的许多开发环境、编辑软件都支持“自 动缩进” – 根据用户代码的输入,智能判断应该缩进还是反缩进,替用户完成调整缩进的工作
VC中有自动整理格式功能 – 只要选取需要的代码,按ALT+F8就能自动整理成微软的cpp文件格式
2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
变量的对齐规则 – 数据类型 + N个TAB + 变量名 + [N个TAB ] +=+[初始化值] ; –例
char char char int float
name[20]; addr[30]; sex = 'F'; age = 20; score = 90;
2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
空行——
分隔程序段落的作用 – 在每个类声明之后加空行 – 在每个函数定义结束之后加空行 – 在一个函数体内,相邻两组逻辑上密切相关的语句块之间加空行,语句块内不加空行// 空行 while (condition) { statement1; // 空行 if (condition) { statement2; } else { statement3; } // 空行 statement4; }
// 空行 void Function1(…) { … } // 空行 void Function2(…) { … } // 空行 void Function3(…) { … } 2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
代码行内的空格——增强单行清晰度 – 关键字之后加空格 – 函数名之后不加空格 – 赋值、算术、关系、逻辑等二元运算符前后各加一空格,但一元运算符前后一般不加空格
sum = sum + term;
– (向后紧跟,) , ;向前紧跟,紧跟处不留空格 – , ;后留一个空格Function(x, y, z) for (initialization; condition; update)
– [] . -> 前后不加空格 – 对表达式较长的for和if语句,为了紧凑可在适当地方去掉一些空格for (i=0; i<10; i++) if ((a+b>c) && (b+c>a) && (c+a>b)) 2013-3-13 11
电子科技大学-C语言代码规范及风格课件
程序版式void Func1(int x, int y, int z); void Func1 (int x,int y,int z); printf("%d%d%d", a, b, c); printf("%d%d%d",a,b,c); if (year >= 2000) if(year>=2000) if ((a>=b) && (c<=d)) if(a>=b&&c<=d) for (i=0; i<10; i++) for(i=0;i<10;i++) for (i = 0; i < 10; i ++) x = a < b ? a : b; x=a<b?a:b; int *x = &y; int * x = & y; array[5] = 0; a.Function(); b->Function(); // 良好的风格 // 不良的风格 // // // // // // 良好的风格 不良的风格 良好的风格 不良的风格 良好的风格 不良的风格
// 良好的风格 // 不良的风格 // 过多的空格 // 良好的风格 // 不良的风格 // 良好的风格 // 不良的风格 // 不要写成 array [ 5 ] = 0; // 不要写成 a . Function(); // 不要写成 b -> Function();
2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
代码行 – 一行只写一条语句,这样方便测试 – 一行只写一个变量,这样方便写注释int int int
width; height; depth; sum = 0;
//宽度 //高度 //深度
– 尽可能在定义变量的同时,初始化该变量int
– if、for、while、do等语句各占一行,执行语句无论有几条都用{和}将其包含在内,这样便于维护if (width < height) { DoSomething(); } //空行 OtherThing();2013-3-13 13
电子科技大学-C语言代码规范及风格课件
程序版式int width; int height; int depth; x = a + b; y = c + d; z = e + f; if (width < height) { dosomething(); } for (initialization; condition; update) { dosomething(); } // 空行 other(); // 宽度 // 高度 // 深度 int width, height, depth; //宽度高度深度
x = a + b;
y = c + d;
z = e + f;
if (width < height) dosomething();
for (initialization; condition; update) dosomething(); other();
2013-3-13
电子科技大学-C语言代码规范及风格课件
程序版式
长行拆分 – 代码行不宜过长,应控制在70-~80个字符以内 – 实在太长时要 …… 此处隐藏:2580字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




