参考:
3 命名规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。
3.1 Package 的命名
Package 的名字应该都是由一个小写单词组成。示例:unipost.trans
3.2 Class 的命名
Class 的名字每个单词必须由大写字母开头而其他字母都小写的单词组成。示例:FileMng
3.3 Class 成员的命名
变量、方法、属性:大小写混排的单词组成,首字母小写
示例: functionName、countNum、size
3.4 Static Final 变量的命名
Static Final常量:大写单词组成,单词之间使用“_”连接
示例: MAX_INDEX
3.5 前后台变量名称
前台变量 fg_变量名
后台变量 bg_变量名
3.6 参数的命名
参数的名字必须和变量的命名规范一致。
3.7 数组的命名
数组应该总是用下面的方式来命名:
byte[] buffer; 而不是: byte buffer[];
3.8 方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的属性一样的名字:
setCounter(int size) { this.size = size; }
3.9 缩写
某些通用的缩写可以使用,如:
temp 可缩写为 tmp ;
message 可缩写为 msg ;
3.10 标识符命名中应注意的问题
3.10.1 除局部循环变量外变量名禁止取单个字符
对于变量命名,禁止取单个字符(如i、j、k...),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i、j、k作局部循环变量是允许的。
说明:变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。
3.10.2 不用数字定义名字
除非必要,不要用数字或较奇怪的字符来定义标识符。
示例:如下命名,使人产生疑惑。
void set_sls00( BYTE sls );
应改为有意义的单词命名
void setUdtMsgSls( BYTE sls );
3.10.3 用正确的反义词组命名
用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。
说明:下面是一些在软件中常用的反义词组。
-
add / remove begin / end create / destroy
-
insert / delete first / last get / set
-
increment / decrement put / get add / delete
-
lock / unlock open / close min / max
-
old / new start / stop next / previous
-
source / target show / hide send / receive
-
source / destination cut / paste up / down
-
-
示例:
-
int minSum;
-
int maxSum;
-
int addUser( BYTE *userName );
-
int deleteUser( BYTE *userName );
3.10.4 避免使用
应避免使用_EXAMPLE_TEST_之类以下划线开始和结尾的定义。