Android 简单总结开发规范

版权声明:本文为博主原创文章,未经博主允许不得转载、不得商业用途。 https://blog.csdn.net/chenlove1/article/details/79814713

参考《阿里android开发手册》,总结出更简单的开发规范;加于理解,结合实际开发经验做了一些调整,并加了些例子希望更体验出良好的规范。

1.Android 资源文件命名与使用

1. 【推荐】资源文件需带模块前缀module。

module:分一级跟二级,文件名以一级命名module:comm、main; id和name要精确到二级命名main_mine

如何有基库工程统一使用base前缀,如需子工程决定的资源使用client前缀。

基库工程如: <dimen name="base_title_height">45dp</dimen>

                       <item name="client_load_pic_default" type="drawable"/>

                       <item name="client_config_log" type="bool">false</item>

子工程:         <item name="client_load_pic_default" type="drawable">@drawable/icon_apk</item>

                       <item name="client_config_log" type="bool">true</item>

2. 【推荐】layout 文件的命名方式。

文件

前缀

Demo

Activity 

module_activity

main_activity、

Fragment 

module_frag

main_mine_frag、

Dialog

module_dialog

main_register_dialog

include

module_include

comm_include、main_include

ListView

module_list_item

main_mine_list_item

RecyclerView

module_recycle_item

GridView

module_grid_item

 3. 【推荐】 drawable 资源名称以小写单词+下划线的方式命名,使用一套drawable-xhdpi(目前都是1080p手机,达到精致app界面,按理应放在xxhdpi下,这样一来增加图片大小从而增加apk大小,二来在底密度平板上图片显示严重失真)。

【推荐】图片放在https://tinypng.com/压缩后放进工程里。
采用规则如: 模块名_业务功能描述_控件描述_控件状态限定词

如:comm_logo_40x40_normallogin_submit_btn_enabled

模块名 

业务功能描述

控件描述

控件状态限定词

comm

logo

40x40

normal

login

submit

btn

enabled

login

protocol

cb

checkable

finance

tab

radiobtn

checked

finance_detail

order

lv

selected

btn

pressed

btn

unenabled(un+state)

4. 【推荐】anim 资源名称以小写单词+下划线的方式命名,采用以下规则:

模块名_逻辑名称_[方向|序号]

tween动画资源:以模块名_[alpha|move|rotate]_[方向]_[进|出]
module_alpha_in ,module_alpha_out , module_move_down_in (动画+方向);

frame 动画资源:以模块+功能命名+序号。如:module_loading_grey_001

5. 【推荐】dimen 资源以小写单词+下划线方式命名,写入 module_dimens.xml 文件中,

采用以下规则:

模块名_[h|v]_描述信息

如:<dimen name="module_h_line">1dp</dimen>

6. 【推荐】 color 资源使用#AARRGGBB 格式,写入 module_colors.xml 文件中,
命名格式采用以下规则:

模块名_逻辑名称

如:<color name="module_btn_bg">#33b5e5e5</color>

7. 【推荐】style 资源采用小写单词+下划线方式命名,写入 module_styles.xml 文件中,

采用以下规则:

style 名称.当前 style 名称

如:

<style name="ParentTheme.ThisActivityTheme">

…</style>

8. 【推荐】string资源文件或者文本用到字符需要全部写入module_strings.xml文件中,

字符串以小写单词+下划线的方式命名,采用以下规则:

模块名_逻辑名称

如:login_tips,main_homepage_notice_desc

9. 【推荐】Id 资源原则上以驼峰法命名,View 组件的资源 id 需要以 View 的缩写作为

前缀。全称以前缀_module_描述。常用缩写表如下:

控件 

缩写

控件

缩写

Id Name Demo

LinearLayout  

ll

TextView  

tv

tv_login_version

RelativeLayout  

rl

Button  

btn

btn_main_history

ConstraintLayout  

cl

ImageView  

iv

btn_mine_register

ListView  

lv

CheckBox  

ch

RadioGroup

rg

RadioButton

rb

ScollView

sv

EditText  

et

2.Java命名

2.1变量命名:

1.【推荐】均不能以下划线或美元符号开始,也不能以下划线或美元符号结束

2.【推荐】严禁使用拼音与英文混合的方式,避免采用纯拼音命名方式

3.【推荐】常量命名全部大写,单词间用下划线隔开

4.【推荐】定义数组类型要与中括号紧挨相连来  int[] arrayDemo

5.【推荐】类中布尔类型的变量,都不要加 is 前缀(属性名称为isXXX或者XXX的话,他的getter都是isXXX,前缀如果加了is,会被部分框架“误以为”对应的属性名称是 XXX)

6.【推荐】long 或者 Long 初始赋值时,使用大写的 L ,不能是小写的 l ,小写容易跟数字 1 混

淆,造成误解

7.控件成员变量命名:控件 View 的缩写作为前缀+描述(驼峰命名)

  其他类型类成员变量命名以m为前缀+描述+类型(最后一个大字以后一个)

  (注:方法内变量则不需要m前缀)

  如:

类型

前缀

描述

后缀

全称

LinearLayout  

ll

menu

llMenu

ListView    

lv

lvContent

lvContent

String

m

Name

String

mNameString

Resp

m

UserInfo

Resp

mUserInfoResp

ArrayList

m

friend

List

mFriendList

HashMap

m

select

Map

mSelectMap

Fragment

m

mine

Fragment

mMineFragment

2.2类命名:

1.【推荐】抽象类命名使用 Abstract 或 Base 开头

2.【推荐】异常类命名使用 Exception 结尾

3.【推荐】测试类命名以它要测试的类名开始,以 Test 结尾

4.【推荐】抽象类命名使用 Abstract 或 Base 开头 ; 异常类命名使用 Exception 结尾 ; 测试类

命名以它要测试的类名开始,以 Test 结尾。

5.【推荐】枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。

6.【推荐】如果变量值仅在一个固定范围内变化用 enum 类型来定义。

猜你喜欢

转载自blog.csdn.net/chenlove1/article/details/79814713
今日推荐