Android编码命名规范
来源:互联网 发布:伦敦金交易数据 编辑:程序博客网 时间:2024/05/16 06:02
转载:https://github.com/D-clock/Doc/blob/master/Code/Android%E7%BC%96%E7%A0%81%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83.md
Android编码命名规范
今年正式本科毕业,目前为止参与过的团队开发项目也有四五个。阅读过各式各样的混乱代码,最离谱的见过所有的变量都用中文拼音首字母,心中真是万千匹草泥马在奔腾。由此,也意识到命名对于编码的重要性。有人说,看一个开发者的水平如何,从看他代码的命名可以大致得出结论。好的命名除了可以让项目成员快速且更好的理解代码,自己读起来也赏心悦目。为此,特地根据自己平常的一些编码规范和网上一些资料进行整理汇总,方便自己时常查看对比。
基本的命名法
Java编程比较常见的有下面三种命名方式
- 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。
- 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写
- 下划线命名法:单词与单词间用下划线做间隔
一般建议拿来做命名的单词要比较精悍短小,这样即使两三个单词一起拼装成一个命名,也不至于显得很冗长。当然有些单词我们也可以直接写成一些约定俗成的缩写。诸如:msg(message)、init(initial)、img(image)等.....
个人认为,这些缩写可参照业界常见的缩写命名,也可以根据当前项目中的风格,进行团队成员间的约定。这样相对比较灵活,也方便团队成员之间相互理解。
包命名
采用反域名命名规则,全部使用小写字母。
- 一级包名为com;
- 二级包名为xx(可以是公司或则个人的随便);
- 三级包名应用的英文名app_name;
- 四级包名为模块名或层级名;
下面罗列一些常见的命名划分方式
类命名
名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的。如HTML,URL,JSON,XML等.
接口命名
和类名基本一致。也可以在接口名前面再加一个大写的I,表明这是一个接口Interface。
如:可以表明一个信息是否可以分享的接口,可以命名为Shareable,也可以是IShareable。
方法
动词或动名词,采用小驼峰命名法。
下面是一些比较常见的命名风格和含义
变量
采用小驼峰命名法。同样比较简单,但为了更好表明含义,我建议做一下的的区分
- 成员变量命名前面加m(member,表示成员变量之意),如,控件的宽高 mWidth,mHeight
- 静态类变量前面加s(static,表示静态变量之意),如,一个静态的单例 sSingleInstance
常量
同样较为简单,全部大写,采用下划线命名法.如:MIN_WIDTH,MAX_SIZE
布局资源文件(layout文件夹下)
全部小写,采用下划线命名法.
下面是一些比较常见的命名风格和含义
动画资源文件(anim文件夹下)
全部小写,采用下划线命名法,加前缀区分.
下面是一些比较常见的命名风格和含义
strings和colors资源文件
小驼峰命名法,命名风格大致如下:
- string命名格式:XX界面_XX功能_str,如 activity_home_welcome_str
- color命名格式:color_16进制颜色值,如红色 color_ff0000
像string通常建议把同一个界面的所有string都放到一起,方便查找。而color的命名则省去我们头疼的想这个颜色怎么命名。
selecor、drawable、layer-list资源文件
小驼峰命名法。命名风格通常都是XX_selector、XX_drawable、XX_layer。
下面举两个比较常用的栗子:
- 按钮按压效果button_selector,正常状态命名为button_normal(XX_normal),按压状态命名为button_pressed(XX_pressed)
- 选择效果checkbox_selector,未选中状态命名为checkbox_unchecked(XX_unchecked),选中状态为checkbox_checked(XX_checked)
styles、dimens资源文件
- style采用大驼峰命名法,主题可以命名为XXTheme,控件的风格可以命名为XXStyle
- dimen采用小驼峰命名法,如所有Activity的titlebar的高度,activity_title_height_dimen
控件id命名
因为有些控件平常不常用,所以上网搜罗了一份下来。集大家之所长,以作参考。
以上就是从网上搜罗整理下来的,大家也可以做纠正或者补充。
总结
以上就是综合很多网上很多资料,再加上平时开发经验进行汇总整理的命名规范。好的命名规则能够提高代码质量,使得新人加入项目的时候降低理解代码的难度。最后我还要啰嗦一下几点:
- 规矩终究是死的,适合团队的才是最好的
- 命名规范需要团队一起齐心协力来维护执行,在团队生活里,谁都不可能独善其身
- 如果你觉得你的命名晦涩难懂,那么,你可以开始动手了
- 一开始总会不习惯的,一步一个脚印,持之以恒,总会成功的
- android编码命名规范
- Android编码命名规范
- Android编码命名规范
- Android编码命名规范
- android 编码规范,命名规范
- Android小记:编码命名规范
- (转)Android编码命名规范
- Android 命名规范和编码规范
- Android 命名规范以及编码规范
- Android开发命名规范和编码规范
- Android开发命名规范和编码规范
- android命名规范和编码规范
- Android 命名规范和编码规范
- Android编码规范及命名规范
- Android 命名规范和编码规范
- Android开发命名规范和编码规范
- Android开发命名规范和编码规范
- Android命名规范和编码规范
- scrollViewDidScroll
- Tomcat是单线程还是多线程
- 对称加密与非对称加密
- 手工栈替代品——非递归dfsの板子
- OpenGL
- Android编码命名规范
- 使用ffmpeg提取视频中的音频和视频画面
- android 中的Drawable<二>
- caffe实战二:mnist训练和测试
- nm
- 记录一个使用MySql函数实现查找子节点的功能实现
- java基础
- android 监听USB连接状态
- Android开发之6步教你自定义view