本文介绍了项目里的各种命名等规范
0 Android架构系列文章
该系列文章会不断更新Android项目开发中一些好的架构和小技巧
系列一 Android架构系列-基于MVP创建适合自己的架构
系列二 Android架构系列-如何优美的写Intent
系列三 Android架构系列-开发规范
系列四 Android架构系列-封装自己的okhttp
系列五 Android架构系列-MVP架构的实际应用
1 目录规范
- GloabApp 全局application
- RootAct 启动Activity
- Base 基础类 BaseActivity BaseFragment Base...
- lib 可以放置一些非jar module类型的开源代码
- widget 通用自定义控件类
- util 通用工具类
- xxx(业务模块)
- model 数据层。网络api接口和缓存接口 命名xxxApi xxxCache
- view 显示层。(activity fragment adapter)命名 xxxActivity xxxFragment xxxAdapter(也可以再分一层 activity fragment adapter)
- present 数据处理层。命名xxxPresent
2 书写规范
- 不要将多行代码写在一行里如:if(condition) do_something
- if / while / for 后面,一定要跟大括号
- 定义方法时大括号换行,如果是匿名方法,大括号跟方法名一行
- 不要连续出现2个以上的空行
3 命名规范
注:modulename为common或者业务模块xxx
3.1 变量、方法命名
- 方法命名小驼峰规则如:initView、setData
- 全局变量命名:mDataList
- 局部变量命名:dataList
- 常量命名:PAGE_SIZE
- 资源变量命名:mBtnLogin
3.2 控件前缀缩写
| 控件 | 前缀缩写 |
|---|---|
| RelativeLayout | rl |
| LinearLayout | ll |
| FrameLayout | fl |
| TextView | txt |
| Button | btn |
| ImageButton | imgBtn |
| ImageView | img |
| CheckBox | chb |
| RadioButton | rdb |
| DatePicker | dtPk |
| EditText | edit |
| TimePicker | tmPk |
| ProgressBar | proBar |
| WebView | webVi |
| ScollView | scrollVi |
| ListView | lv |
| GridView | gv |
| ViewPager | vp |
3.3 layout中资源id命名
控件缩写+描述
如 img_back、txt_name
3.4 layout命名
- activity
modulenameactivity描述.xml - fragment
modulenamefragment描述.xml - dialog
modulenamedialog描述.xml - 抽取出来复用的xml布局(include)
modulenameinclude描述.xml - listview item
modulename_itemlist描述.xml - listview header
modulename_listheader描述.xml - listview footer
modulename_listfooter描述.xml - gridview item
模块_itemgrid描述.xml - widget
modulenamewidget描述.xml
3.5 资源文件命名
前缀+描述+后缀
前缀即为类型
- 图标 ic
- 背景 bg
- 分割线 div
- 按钮 btn
后缀是状态,如果没有就是普通就没有
- 默认图片 比如加载时的默认头像背景 default
- 按下状态 pressed/unpressed
- 选中状态 choosed/unchoosed
3.6 drawable命名
状态+控件缩写+描述
状态,即drawable类型:
- selector
- shape等
3.7 string命名
界面+描述
或者common+描述
通常建议把同一个界面的所有string都放到一起
全局的使用common
结尾
更多文章关注我的公众号