实习期间中的笔记,编程规范!
1.排版 1) 程序快要采用缩进风格 (更具IDea不同可以不同)
2)相对对立的模块间、变量采用必须加空行
3)教程的语句要风行血,成的表达式在低的优先级字符串 ,操作符在新行之手,画出的新航要进行适当的缩进!
4)循环盘对也是于低山条相似
5)函数参数过长,则需要做适当的划分
6)一行字写一条语句
7)while与君部分必须加括号{}
8)分支循环关键字 一个一行,必须加{}
2. 注释 1)说明性文件(如头文件.h文件,.Inc 、def 文件 cfg文件等等)头部进行注释,注释必须列出:版本说明、版本号、生成日期、作者、内容、功能、与其他文件的关系、修改日期,头文件注释还函数的简要说明,修改记录必须包括修改日期、修改作者、修改内容
2) 函数头部必须进注释 列出: 函数的目的/功能、输入参数、输出参数、返回值、调用关系
3)编写代码要与注释同步
4)注释应该与描述的代码相近,对代码的注释应该放在上方或者右方
5)接口、数据结构、变量、常量都要在定义的时候就加以注释
6)全局变量要有详细的注释,包括其功能、取值范围、哪些函数或过程取值、取值的时候注意事项。
3.命名标识 1) 标识符进行缩写
2)、接口、变量,常熟命名禁止I,j,k,a等等 命名要有具体意义,还要表示其变量数据等的类型
4.可读性 1)避免直接使用数字,改用有意义的标识来代替。
2)不要使用难懂的技巧性很高的语句,除非很有必要
5.变量、结构 1)去掉没必要的公共部分,降低耦合。
2)公共部分传递过程中要十分小心 防止赋值不合理,越界等等。3)严禁使用未初始化的值作为右值。
4)结构的功能要单一,针对一种事物的抽象,
5.)不要设置面面俱到,非常灵活的数据结构
6.)当声明用于分布式环境或不同CPU间通信环境的数据结构,必须考虑机器的直接顺序、使用的位域及字节对齐等问题
6.过程 1)编写可重入时,若使用全局变量这通过关中断、信号量等手段进行加以保护
2)不要编写依赖与其他函数内部实现的函数
3)设计高扇入、合理扇出的函数(小于7个)
7.测试 1.) 编程的同时要进行单元测试选择恰当的的测试点,测试用例测试代码同时给出明确的注释说明。使用断言来发现问题,提高代码的可测性(断言是用来检测程序正常运行时不应该发生的但是在debug过程中可能发生的非法状况)ASSERT
2)发布版本中要把assert去掉,发行版本与debug版本应该同意维护,不允许分家,并且要保证两个版本实现功能上的一致性。
8.程序的效率 1)循环体工作量尽可能的少
2)在多重循环体中,应该把最忙的循环放在最内层(为了减少CPU切入循环层的次数)
3)避免循环体内部包含iF,应将循环语句置于IF中(减少判断次数)
4)尽量用乘法或者其他代替除法,特别是浮点运算(浮点运算除法占用大量CPU)
9.质量保障 1)防止防止引用已经释放的内存
2)申请的内存,文件的句柄要记得释放
3)if 要加else ,switch 必须加default
4)不啊哟用goto语句
10.代码审计、编译 1)同一个产品组内最好使用相同的编译器,并使用相同的设置选项
2)某一些warning认为没有错误 可以手动的删除,#pragma warn -rvl /+rvl
3)使用代码审查器 C 语言PC-Lint logiScope