变量命名与注释

1. 函数命名,变量命名,文件命名要有描述性;少用缩写。

尽可能给有描述性的命名,别心疼空间,毕竟让代码易于新读者理解很重要。不要用只有项目开发者能理解的缩写,也不要通过砍掉几个字母来缩写单词。

好的代码:
int price_count_reader;    // 无缩写
int num_errors;            // “num” 本来就很常见
int num_dns_connections;   // 人人都知道 “DNS” 是啥

不好的代码
int n;                     // 莫名其妙。
int nerr;                  // 怪缩写。
int n_comp_conns;          // 怪缩写。
int wgc_connections;       // 只有贵团队知道是啥意思。
int pc_reader;             // "pc" 有太多可能的解释了。
int cstmr_id;              // 有删减若干字母。


变量名一律小写, 单词之间用下划线连接. 类的成员变量以下划线结尾, 但结构体的就不用

好的代码:
string table_name;  // 可 - 用下划线。
string tablename;   // 可 - 全小写。

不好的代码:

string tableName;   // 差 - 混合大小写。




2. 注释 : 注释的作用是为了弥补代码自身在表达上的不足;

 注释固然很重要, 但最好的代码本身应该是自文档化. 有意义的类型名和变量名, 要远胜过要用注释解释的含糊不清的名字.

变量注释:
通常变量名本身足以很好说明变量用途. 某些情况下, 也需要额外的注释说明.


函数注释:
函数声明处注释描述函数功能; 定义处描述函数实现.
函数声明:

注释位于声明之前, 对函数功能及用法进行描述. 注释使用叙述式 (“Opens the file”) 而非指令式 (“Open the file”); 注释只是为了描述函数, 而不是命令函数做什么. 通常, 注释不会描述函数如何工作. 那是函数定义部分的事情.

函数声明处注释的内容:

函数的输入输出.
对类成员函数而言: 函数调用期间对象是否需要保持引用参数, 是否会释放这些参数.
如果函数分配了空间, 需要由调用者释放.
参数是否可以为 NULL.
是否存在函数使用上的性能隐患.
如果函数是可重入的, 其同步前提是什么?

实现注释:
对于代码中巧妙的, 晦涩的, 有趣的, 重要的地方加以注释.



行注释:

比较隐晦的地方要在行尾加入注释. 在行尾空两格进行注释.

 更多信息可以参考 
google 开元项目风格指南
http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/comments/ 

 

posted @ 2016-05-22 09:28  张瑞东  阅读(1322)  评论(0编辑  收藏  举报