开发命名规则/缩写规则

写了几年代码之后发现原先的代码基本看不懂了,很大程度上是因为早期写代码喜欢用一些 int aa,bb之类的,所以决定建立一套自己的命名规范。

每次想到新的内容就往里面补充一点。

类的命名:

采用首字母大写的方式,格式为:对象描述+派生父类/功能描述,比如:MainActivity,TcpTools;

基类尽量采用一个单词,比如:Tools;


函数命名:

采用首字母大写的方式,格式为:动词+名词,比如:SendMessage;

保护成员函数开头加上一个下划线,如_SendMessage;

私有成员函数开头加上两个下划线,如__SendMessage;

回调函数开头加上On,如OnClick;

(2014-12-28 13:00修改)

判断是否存在/是否能用/是否XX在函数开头加Is,如IsExist

#函数可以理解为一个动作,或者一个行为,其描述应该包含如下:执行者 动作(动词+名词)(to/from/for) 接受者

再进一步分析,动作分同步和异步两种,这个是用来修饰动作的

所以一个完整的函数命名应该是: 执行者+(Async)+(动词+名词)+(To/From/For)+接受者

函数名中如果不存在主语,默认执行者是类自身;

不写From/To/For及接受者,默认动作接受者为 类自身或者名词;

不写Async,默认为同步执行;

#函数还可以描述一种状态,返回结果一般是bool型,这类函数统一用Is开头,比如IsThreadRunning()/ IsValExist()之类


接口命名:

在名称前加上I,如 ICompany


变量命名:

采用驼峰命名法,格式为:作用域+类型+对象描述//其实就是匈牙利命名法

常量和静态变量:直接采用全大写形式,格式为:类型_对象描述

其中属性部分:

g_全局变量/m_类成员变量;常量和静态变量用全大写进行描述

类型描述部分:

常用类型有:

bool b

byte by

short s

long l

float f

double d

int i

String str


Layout命名

组件名_描述

对于Button/EditText这些组件还比较好描述,只要把其所在模块及其其实现的功能写下来就成了,比如 btn_loginform_submit

但是布局就很烦了,无论是android里的layout还是html里的div,总的来说一般分为三类,

一类是定义整个大区域,其中包含很多模块,所以也应该在描述后面再加一个尾缀_zone,比如div_模块描述_zone;

二类是定义一个模块,一个模块里有很多组件,那就应该在描述后面再加一个尾缀_module,比如div_模块描述_module

三类是为放置某个组件用的,该组件属于某个模块,所以在模块描述后面加上组件描述,尾缀是_unit,比如div_模块描述_组件描述_unit

然后布局还分放在上下左右四个方位,所以还可以在后面再加个尾缀_u _d _l _r进行描述,这个尾缀看情况添加就是。

图片的前缀有:

ic-icon

bg-background

di-divider

clr-color


图片的后缀有:

nor-normal,图片普通状态

hl-hight light,图片高亮状态

press-图片按下状态

select-图片选择状态


#缩写这玩意还是够受,除非约定俗成,不然用了缩写就是为日后debug找麻烦...

缩写规则:

因为变量名变得越来越长了,所以要建立一套适合的缩写规则

一般来说,较长的单词就采用首字母+中间字母+尾字母的方式,但是缩写不要滥用,只有在一些常用的而且一看就能看出来的单词上才使用此缩写规则

Buffer buf

Background bg

Database db //LocalDB //RemoteDB

Dialog dlg

Icon ic

Message msg

Tmporary tmp


组件缩写:

Button-btn // Radios Button-rbtn // ImageButton-ibtn

Layout-lyt //

View-v // ImageView-iv // ListView-lv // TextView-tv

EditText-et

ScrollView-sclv

相关文章
相关标签/搜索