一个人独立完成的软件已经很少见了(向独立游戏开发者致敬),软件都是在相互合作中完成的,最小单位: 俩人。
代码规范: 不同的人对代码好坏评判不同,需要基准
文字上的规定,很重要
原则: 简明易读,无二义性
命名上应该一眼看出变量的类型和语义
匈牙利命名法: 给变量以有意义的前缀。对于强类型的语言不必要
Pascal: 所有单词首字母大写
Camel: 第一个单词小写,其余单词遵循Pascal
函数: 动词或者动宾来组合
注释
复杂的注释应该放在函数头
注释应该只用ASCII码
误导的注释比没有注释更糟糕
避免冗余的注释
通用原则上的规范,牵涉模块关系等
函数
只做一件事,并且做好
goto
函数最好有单一的出口,为达此目的,可以使用goto
??以前都是听说要避免使用goto
错误处理
验证参数正确性
使用Assert
如何处理C++中的类
类的使用
使用类来封装面向对象的概念和多态
指针传递,避免传递实体的值
对于有显式构造和析构函数的类,避免建立全局的实体,因为不知道何时创建和消除
仅在必要时使用类
仅数据的封装,用struct即可
仅在必要时使用类型继承
关于数据成员和方法
按照public, protected, private 的顺序来说明类中的成员
使用虚函数来实现多态;仅在很有必要时使用虚函数;若一个类型要实现多态,在基类中的析构函数应该是虚函数(对于原因理解不是很清楚,是为了防止忘了在子类中写析构函数吗,对于c++不是很熟)
数据成员 m_name; 不要使用公共的数据成员; 用inline访问函数,兼顾封装和效率
new和delete
检查new的返回值,new不一定成功
释放指针时不用检查NULL
运算符
不做标准语义之外的事情
确实有必要时再定义
需要高效
Driver & Navigator
感觉有利于避免低级错误
这部分心理学,沟通技巧等
团队合作的重要性
inline
C++ 中,可以在定义函数时,在返回值类型前面加上 inline 关键字, 增加了 inline 关键字的函数称为“内联函数”。
inline int Max (int a, int b)
{
if(a >b)
return a;
return b;
}
原文:https://www.cnblogs.com/QiLF/p/11440478.html