Android App开发规范

一些约定

类中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开头. Bean类命令例外, 建议使用局部变量的命名方式.

局部变量 首字母小写的驼峰 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命名

View 结尾命名规则

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加上库地址.

编译相关的常量写入编译脚本.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • Android编码规范 源文件基础 文件名 源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为.java。 文...
    呼呼哥阅读 918评论 0 0
  • App开发规范 一.项目结构 随着MVP设计模式的流行,就默认采用下面两种项目结构. 适合小项目 app——App...
    会理发的店小二阅读 1,635评论 2 10
  • Android 编码规范 1. 前言 这份文档是 Google Java Code Style 的译文,并稍有添加...
    人失忆阅读 435评论 0 3
  • 作者:李旺成 时间:2016年4月3日 1. 前言 这份文档参考了 Google Java 编程风格规范和 Goo...
    diygreen阅读 39,804评论 19 224
  • 一:介绍 1:为什么需要编码规范 编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的...
    huaerlala阅读 403评论 0 0