Android开发规范

一些约定

  • 类中public方法在前,private在后,所有不对外的方法,变量全部使用private修饰符。类中public static final的常量在最上方,其次private static final,然后public,private等。
  • 类中定义的接口放在变量声明之后,所有方法之前。
  • 方法相关性,方法之间有调用关系的,按照先后顺序排列在一起。
  • 善用空行,方法体之间必须空行,代码逻辑块之间使用空行分隔,变量声明根据变量类型适当空行。
  • 方法体不要过长,尽量提取小方法代替逻辑块,保证代码可读性。
  • 善用TODO,对于未完成或已完成但是方案不完美需后续跟踪的,使用TODO标签标示,并写好注释。
  • 不建议注释太多,要通过方法名,变量名提高代码可读性,而非注释。但是一些非常规方法,复杂逻辑,需要详细注释说明。
  • 协作中,不要做整个代码的格式化,仅格式化自己编写的那部分。
  • 注意命名以及注释英文单词,不要写错~
  • 杜绝“Magic Number”-神奇数字, 所有数值根据情况提取为常量,dimen或constant。

代码规范

  • 使用Android Studio提供的格式化规范。

命名规范

1. Java命名

| 分类 | 命名方式 | 举例 | 说明 |
|:------:|:--------|:---- :|:----------|
|包名 |全小写|com.cicaero.kite|公司域名倒序,“.”分隔,单个包名建议不超过12个字母|
|类名|首字母大写的驼峰|UserInfo|名词形式|
|接口名|首字母大写的驼峰|ServerInterface|名字形式|
|方法名|驼峰|getUserInfo|动词结构,含义为一个动作|
|常量|全大写,单词下划线分隔|MSG_UPDATE_PROGRESS|建议数值类常量从1开始,且根据功能预留数段|
|成员变量| m/s/is/has开头的驼峰|mImageUrl|正常成员m开头,静态s开头,布尔型is/has开头|
|局部变量| 首字母小写的驼峰|currentPosition|名词形式,除非是循环,否则不建议使用i,j,k等简单变量名|

2.资源命名

分类 命名方式 举例 说明
布局 全小写,单词下划线分隔 activity_main.xml Activity以activity开头,Fragment以fragment开头,list、grid项以item开头,Dialog布局以dialog开头,自定义View以layout开头,其他被include的或公用组件,诸如title_bar,bottom_bar,根据实际含义命名
Drawable 全小写,单词下划线分隔 btn_bg.png 根据图片使用方式命名, 图标以ic_开头,背景以_bg结尾,状态drawable xml以_selector结尾。
Color 全小写,单词下划线分隔 green 尽量根据颜色值命名
String 全小写,单词下划线分隔 app_name 模块多且大的话,根据模块建立不同的String xml 文件
style 首字母大写的驼峰 NoTitleTheme 类似类名,style本身也是有类似类的集成关系
dimension 全小写,单词下划线分隔 left_padding
id 全小写,单词下划线分隔 user_name_tv 详细id命名规范参考以下章节

3. 布局文件中的View id命名

分类 命名方式
TextView tv
Button btn
EditText et
ImageView iv
ImageButton img_btn
RadioButton rb
RadioGroup rg
SeekBar seek
ProgressBar progress
Spinner spinner
VideoView vv
CheckBox cb
ListView lv
GridView grid
Layout lt

其他规范

  • Gradle引入第三方库时comment加上库地址。
  • 编译相关的常量写入编译脚本。

Mingjun's Working Notes

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 个人总结的 Android 开发规范,其中控件缩写及 Android 资源文件命名部分不是很确定,有待商榷。Jav...
    牙锅子阅读 1,999评论 0 6
  • Java类类名:大驼峰命名,所有单词首写字母大写,并且类名最好为名词.正确public class People{...
    WilsonMing阅读 840评论 0 2
  • 请看完结版:Android开发规范(完结版)
    Blankj阅读 8,729评论 25 115
  • 前言 本文参考Google Java编程规范和阿里巴巴Java规范,Android编码规范部分参考Android开...
    半阖眼眸阅读 724评论 0 1
  • 1英语口语天天练(1)- Have a good day. 用法:祝你有个美好的一天。 发音:good[gud]自...
    紫微妈咪阅读 264评论 0 0

友情链接更多精彩内容