命名规范在日常开发中有着至关重要的作用,命名规范可以提高项目的可读性、可维护性。
本文中的规范说明全部来自阿里巴巴开发手册,是本人觉得在日常开发中常用和重要的方面截取出来做记录,
如果公司没有统一的规范和没有形成自己的一套规范的同学可以参考使用。
一.java语言命名规范
1.命名不能使用美元符号和下划线开始和结束
2.命名不能使用拼音和中文
3.类命名使用:UpperCamelCase;方法名使用:localValue
4.常量名全部大写,单词间用下划线隔开:MAX_STOCK_COUNT
5.抽象类命名使用 Abstract 或 Base 开头;
异常类命名使用 Exception 结尾;
测试类 命名以它要测试的类的名称开始,以 Test 结尾。
6.POJO 类中布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误
7.包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名如果有复数含义,类名可以使用复数形式。
如:应用工具类包名为 com.alibaba.ai.util、类名为 MessageUtils
8.杜绝不规范的缩写。
9.如果模块、接口、类、方法使用了设计模式,在命名时需体现出具体模式
如:工厂模式:public class OrderFactory;
代理模式:public class LoginProxy;
10.接口类中的方法和属性不要加任何修饰符号(public 也不要加)
二.资源文件命名规范
1.资源文件layout命名规范
模块名+资源文件类型名开头:
如:Activity的layout :module_activity(module为你模块的名称)
Dialog 的 layout 以 module_dialog 开头
RecyclerView 的 item layout 以 module_recycle_item 开头
include 的 layout 以 module_include 开头
2.drawable命名:
模块名_业务功能描述_控件描述_控件状态限定词
如:module_login_btn_pressed
注:drawable建议只使用一套,如drawable-xhdpi
3.color命名:
写入module_colors.xml 文件中
命名规则:模块名_逻辑名称_颜色,如:
<color name="module_btn_bg_color">#33b5e5e5</color>
4.dimen 资源以小写单词+下划线方式命名,写入 module_dimens.xml 文件中
模块名_描述信息,如:
<dimen name="module_horizontal_line_height">1dp</dimen>
5.style 资源采用小写单词+下划线方式命名,写入 module_styles.xml 文件中, 采用以下规则:
父 style 名称.当前 style 名称,如:
<style name="ParentTheme.ThisActivityTheme">
6.string 写入module_strings.xml
规则:模块名_逻辑名称,例如:
moudule_login_tips
7.Id 资源原则上以驼峰法命名,View 组件的资源 id 需要以 View 的缩写作为 前缀。常用缩写表如下:
控件 |
缩写 |
LinearLayout |
ll |
RelativeLayout |
rl |
ConstraintLayout |
cl |
ListView |
lv |
ScollView |
sv |
TextView |
tv |
Button |
btn |
ImageView |
iv |
CheckBox |
cb |
RadioButton |
rb |
EditText |
et |
其它控件的缩写推荐使用小写字母并用下划线进行分割,例如: ProgressBar 对应的缩写为 progress_bar
DatePicker 对应的缩写为 date_picker
8.大分辨率图片(单维度超过 1000)大分辨率图片建议统一放在 xxhdpi 目录 下管理,否则将导致占用内存成倍数增加。