1 / 7
文档名称:

C 编程规范.doc

格式:doc   大小:27KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C 编程规范.doc

上传人:1542605778 2022/2/21 文件大小:27 KB

下载得到文件列表

C 编程规范.doc

相关文档

文档介绍

文档介绍:C++编程规范
排版:
程序采用缩进风格编写,缩进的空格数为4个,不使用TAB键;程序块的分界符应个独占一行并且位于同一列,同时与引用它们的语句左对齐;
if,for,do,while,case,switch,default等语句各自
设计高扇入、合理扇出(小于7)的函数;
函数调用深度不能大于5;
函数参数个数应小于等于5个;
禁止编写变参函数;
避免函数中不必要语句,防止程序中的垃圾代码;
检查函数所有非参数输入的有效性,如数据文件、公共变量等;
函数的返回值要清楚、明了,让使用者不容易忽视错误情况;
if语句尽量加上else分支,对没有else分支的语句要小心对待;
switch语句必须有default分支;
重载运算符要保持自然语义;
如果函数不改变状态,则必须声明为const函数;
基本数据类型的输入参数,优先传值;
非基本类型的输入参数,优先传const引用;
输出参数,优先传引用;
宏:
用宏定义表达式时,要使用完备的括号;
使用宏时,不允许参数发生变化;
尽量减少宏的使用,使用const来定义常量,使用模板函数或内联函数来取代函数型宏;
模板:
不要使用全局变量,如果确有需要,可以使用单件模式;
独立编译模块的外部接口禁止返回申请的内存;
独立编译模块的外部接口禁止抛出异常;
与外部模块通信时使用低级数据类型,模块内部接口通信应使用高级数据类型;
头文件:
头文件必须自足,也即此头文件已包含了所有其依赖的文件;
禁止包含不需要的文件;
头文件必须有防止重复展开的宏;
头文件中不允许定义有链接的实体;
名字空间:
类型和非成员函数接口如果是协同工作的则放在同一个名字空间中,否则放在不同的名字空间中;
禁止不同名字空间的对象有初始化依赖关系;
禁止在头文件中使用using namespace 指令;
禁止在#include之前使用using namespace 指令;
类:
明确的定义类的类型:数据值类,基类;
禁止继承没有设计为基类的类;
多用组合,少用继承;
基类析构函数只能是公用虚函数或保护非虚函数;
一个类一个清晰的目的,不要写面面俱到的巨大的类;
在构造函数中初始化所有数据成员;
在构造函数中申请资源,在析构函数中释放资源;
将数据成员设为私有,C风格的结构体不受此限制;
禁止返回内部数据指针;
禁止在构造和析构函数中调用虚函数;
如果提供了析构函数则同时提供拷贝函数或显式禁止拷贝函数;
显式地启用或者禁止复制;
扩展功能时优先添加非成员非友员函数;
防止切片,考虑使用Clone代替拷贝操作;
考虑使用NVI;
考虑使用pimpl惯用法;
STL:
优先使用vector;
优先使用push_back来扩展序列;
在容器中只存放值,引用计数的智能指针或普通指针;
优先使用容器自带操作,使用惯用法;
考虑使用算法代替手工编写的循环;
使用迭代访问代替其它遍历容器方式;
算法和比较器的参数优先使用函数对象;
错误处理:
使用异常来报告错误;
通过值抛出异常,通过引用捕获异常;
保证所有的异常都得到了处理;
禁止使用函数异常声明;
函数必须提供强保证:保证回到初始状态或是到达操

最近更新

2019-2023年浙江省金华市手足口病监测与检测分.. 8页

2025年AStudyontheManagementRenewIdeas成本管.. 7页

思维导图在小学英语词汇教学中的应用 3页

微课在高中美术教学中的应用探微 3页

微课优质资源共建共享探索研究 3页

微孔间歇性曝气充氧试验研究分析 3页

2025年4000m3d大学城污水回用工艺设计环境工程.. 77页

形象思维在声乐教学与演唱中的应用与研究 3页

弹性支承块式无砟轨道支承块空吊影响及整治研.. 3页

2025年231省道盐都段建设工程监理工作总结 5页

2025年1万吨无菌冷灌装pet瓶枣汁饮料生产线建.. 55页

2025年150万只鸡标准化养殖小区及配套粪尿废弃.. 55页

2025年10万吨年电解锌渣库增容扩建工程投资可.. 49页

幼儿园室内区域体育活动实施的个案研究 3页

互帮互助共同进步主题班会1ppt课件 22页

山西省某市小学教师健康体检状况分析 3页

山东高密市农业发展问题研究 3页

2025年广州市农村村民住宅建设用地管理规定 4页

少数民族传统发饰的现代转化创作研究综述报告.. 3页

2025年幼儿园安全工作计划讲课讲稿 37页

2025年年终安全工作总结 4页

小学语文单元整体教学研究 3页

2025年常见眼部疾病教学文案 6页

小学生快速阅读训练的眼动研究 3页

小学数学课堂中情景图的应用浅析 4页

2025年市场营销毕业32806教学资料 49页

小学几何“周长和面积”复习课教学研究 3页

2025年工程部人员岗位职责 13页

2025年山东建筑大学计算机网络课程设计基于Py.. 13页

2025年武汉警官职业学院单招职业技能测试题库.. 73页