编码规范
- 开发时jave类以及各种文件建议编码用UTF-8
- java代码中建议不要出现中文,最多注释中可以出现中文,但建议最好都不用中文
- 类中public方法在前,private在后,所有不对外的方法,变量全部使用private修饰符。
- 类中public static final的常量在最上方,其次private static final,然后public,private等。
- 类中定义的接口放在变量声明之后,所有方法之前。
- 方法相关性,方法之间有调用关系的,按照先后顺序排列在一起。
- 善用空行,方法体之间必须空行,代码逻辑块之间使用空行分隔,变量声明根据变量类型适当空行。
- 方法体不要过长,尽量提取小方法代替逻辑块,保证代码可读性。
- 善用TODO,对于未完成或已完成但是方案不完美需后续跟踪的,使用TODO标签标示,并写好注释。
- 不建议注释太多,要通过方法名,变量名提高代码可读性,而非注释。但是一些非常规方法,复杂逻辑,需要详细注释说明。
- 协作中,不要做整个代码的格式化,仅格式化自己编写的那部分。
- 注意命名以及注释英文单词,不要写错~
- 杜绝“Magic Number”, 所有数值根据情况提取为常量,dimen或constant。
命名规范
- Java命名
- 资源命名
分类 | 命名方式 | 举例 | 说明 |
---|---|---|---|
Layout | 全小写,单词下划线分隔,中间用功能模块区分;如:activity:activity_功能模块_名称;Fragment:fragment_功能模块_名称;ListView:item_list_功能模块_名称;RecycleView:item_recycle_功能模块_名称;自定义view:custom_view_功能模块_名称;PopWind:pop_功能模块_名称;其他被include的或公用组件,诸如title_bar,bottom_bar,根据实际含义命名 | activity_home_main.xml | 所有的命名都按照:控件名或逻辑名_功能模块_名称 |
Drawable | 全小写,单词下划线分隔,中间用功能模块区分 | btn_home_bg.png | 根据图片使用方式命名, 图标以image_开头,背景以_bg结尾,状态drawable xml以_selector结尾 |
Color | 全小写,单词下划线分隔 | green | 尽量根据颜色值命名 |
String | 全小写,单词下划线分隔 | app_name | 模块多且大的话,根据模块建立不同的String xml 文件 |
Dimension | 全小写,单词下划线分隔 | left_padding | |
Id | 全小写,单词下划线分隔 | user_name_tv | 详细id命名规范参考以下章节 |
- 布局文件中View的缩写
View | 结尾命名规则 |
---|---|
TextView | tv |
Button | btn |
EditText | edit |
ImageView | image |
ImageButton | image_btn |
RadioButton | radio_btn |
RadioGroup | radio_gp |
SeekBar | seek |
ProgressBar | progress |
Spinner | spinner |
VideoView | video |
CheckBox | check |
ListView | list |
GridView | grid |
RecycleView | recycle |
Layout | layout |
其它规范
Gradle引入第三方库时在read.md文件中加上库地址并说明库的作用.