命名规范
-
驼峰命名法:又称小驼峰命名法。除了首个单词首字母小写除外,其余所有单词所有首字母都要大写
-
帕斯卡命名法:又称大驼峰命名法。所有单词首字母大写
1、包的命名规范
建议采用如下规则:【com】.【公司名/组织名】.【项目名称】.【模块名】
常见的包分层结构如下:
-
com.xxx.xxx.view –> 自定义view 或者是View接口
-
com.xxx.xxx.activities –> activity类
-
com.xxx.xxx.fragments –> fragment类
-
com.xxx.xxx.adapter –> 适配器相关
-
com.xxx.xxx.utils –> 公共工具类
-
com.xxx.xxx.bean –> 实体类
-
com.xxx.xxx.service –> service服务
-
com.xxx.xxx.broadcast –> 广播接收器
-
com.xxx.xxx.db –> 数据库操作类
-
com.xxx.xxx.persenter –> 中间对象
-
com.xxx.xxx.model –> 数据处理类
2、类的命名规范
Android中类的命名与JAVA开发采用一致的规范即可。
-
Activity –> xxxActivity.java
-
Application –> xxxApp.java
-
Fragment –> xxxFragment.java
-
Service –> xxxService.java
-
BroadcastReceiver –> xxxBroReceiver.java
-
ContentProvider –> xxxProvider.java
-
Adapter –> xxxAdapter.java
-
Handler –> xxxHandler.java
-
接口 –> xxxInterface.java
-
接口实现类 –> xxxImpl.java
-
Persenter –> xxxPersenter.java
-
公共父类 –> BaseActivity.java、BaseFragment.java、- BaseAdapter.java等
-
util类 –> LogUtil.java
-
数据库类 –> BaseSQLiteDBHelper.java
3、变量的命名规范
控件命 | xml文件对应id | java文件对应全局变量 |
---|---|---|
LinearLayout | lay_ xxx | mLayLogin |
RelativeLayout | lay_ xxxt | mLayLogin |
FrameLayout | lay_ xxx | mLayLogin |
ScrollView | scv_xxx | mScrollView |
Button | btn_xxx | mBtnLogin |
ImageView | iv_xxxt | mIvLogin |
TextView | tv_xxx | mTvUserName |
EditText | et_xxx | mEtUserName |
CheckBox | cb_xxx | mCbSlect |
RadioGroup | rg_xxx | mRg |
RadioButton | rb_xxx | mRb |
Spinner | spr_xxx | mSpineer |
GridView | gv_xxx | mGriView |
ListView | lv_xxx | mListView |
RecycleView | cv_xxx | mRecycleView |
3.1成员变量
/**
* 成员变量命名以m开头
*/
private Context mContext = null;
private boolean mEatKeyUpEvent;
private Resources mResources;
/**
* 静态变量命名以s开头
*/
private static String sTag = null;
3.2 函数方法的命名
函数方法的命名一般是多个动词+名词组合,同样使用驼峰式命名,方法名首字母小写,要求命名能够描述出该方法的作用,并且尽可能的给函数方法进行注释说明
initXxx():初始化相关方法,使用init-作为前缀,例如:初始化布局initView();
isXxx():isXxxx()或者checkXxx()返回值为指定类型,使用is-或者check-为前缀;
getXxx():返回某种类型的值,使用get-为前缀;
processXxx():对数据进行处理,以process-为前缀;
displayXxx():弹出提示框或提示信息,以display-为前缀;
saveXxx():保存数据相关的方法,以save-为前缀;
resetXxx():对数据重置,或者是界面重置,使用reset-为前缀;
clearXxx():清除操作相关,使用clear-为前缀;
drawXxx():绘制数据或效果相关,使用draw-为前缀。
4、资源文件命名规范
4.0 anim目录命名规范
-
fade_in.xml
-
fade_out.xml
-
slide_in_from_left.xml
-
slide_in_from_top.xml
4.1 layout目录命名规范
-
activity_xxx.xml
-
frament_xxx.xml
-
item_xxx.xml
4.2 drawable目录命名规范
全部单词小写,单词之间采用下划线分割。
-
图标 – > ic_xxx.png –> ic_logo.png
-
背景图 –> bg_xxx.jpg –> bg_splash.jpg
-
selector –> selector_login_btn.xml
-
shape –> shape_login_btn.xml
-
图片状态 –> bg_login_btn_pressed.jpg & - bg_login_btn_unpressed.jpg
4.3 menu目录命名规范
- menu_main.xml
4.4 value目录命名规范
- 4.4.1 color.xml命名标准
颜色命名标准为color_颜色色值
<color name="color_FFFFFF">#FFFFFF</color>
- 4.4.2 string.xml命名标准
1. 在命名的时候,最好能以一个 xxxx start 开头 然后以 xxxx end 结束,表明一个模块的资源文件的区块
2. 同个模块的资源文件,最好能以一个统一的前缀,然后再加以后面的详细描述,这样比较能清晰而且也能减少出现类似资源文件的混淆
3. 尽量多的在名字里表明用处,多点解释能够更好的让其他人明白你的用途,总比别人去猜或者一定要进来看你的资源文件然后去理解好的多吧
<!-- 网络错误提示 start -->
<string name="network_tips_error">哎呀,网络有点问题</string>
<string name="network_tips_im_error">当前网络不可用,请检查你的网络设置</string>
<string name="network_tips_unknown_error">未知错误</string>
<!-- 网络错误提示 end-->
<!-- tabhost栏标题 start -->
<string name="tabhost_title_home">首页</string>
<string name="tabhost_title_discovery">精选</string>
<string name="tabhost_title_appointment">预约</string>
<string name="tabhost_title_my">我的</string>
<!-- tabhost栏标题 end -->
<!-- 页面标题 start -->
<string name="page_title_index">首页</string>
<string name="page_title_appointment">预约</string>
<string name="page_title_my_wallet">我的钱包</string>
<string name="page_title_my_artisan_detail">技师详情</string>
<string name="page_title_my_product_detail">作品详情</string>
<!-- 页面标题 end -->
-
4.4.3 styles.xml命名标准
1. 如果是有存在父子关系的,可以将这几个样式放在附近一起,并且命名以同样的前缀命名 2. 其他的参考string文件的命名 3. 为什么这里不需要start和end?因为string是单标签的,基本上所有的都是以<string></string>来定义,而style文件一个区块已经用<style></style>来帮助分区块了,所以可以不用start和end来帮助标记。 <!-- 订单确认页的textview样式 --> <style name="order_submit_text_style"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">48dp</item> <item name="android:textColor">@color/Black</item> <item name="android:textSize">14sp</item> <item name="android:paddingLeft">15dp</item> <item name="android:layout_marginLeft">8dp</item> <item name="android:layout_marginRight">8dp</item> </style>
5、编码规范
-
代码中尽量不要出现中文。注释和除外。代码中通过strings.xml引用来显示中文。
-
控件声明放在activity级别,这样在activity其他地方可以使用。
-
在一个View.OnClickListener中处理所有的点击事件逻辑,这样看起来很集中和直观。
-
strings.xml中使用%1sd等实现字符串的通配。
-
布局文件中的字体大小,都定义在dimens.xml中。
-
有关margin和padding的值也都放在dimens.xml中。
-
界面之间传值尽量使用intent方式。少用全局变量。
-
不建议在布局文件中添加点击事件。
-
数据类型转换一定要校验。
-
使用常量代替枚举。
-
实体不要在不同模块间共享,但是可以在统一模块下的不同页面共享。
-
建议采用左括号与方法名称在同一行的代码格式来进行代码的编写和格式化。貌似左括号在下一行是C#的形式。
-
业务稍微复杂一些,都有可能提炼一个BaseActivity或BaseFragment出来做为公共父类。
-
类注释一定要写,管家的方法也要写方法注释。常量尽量写注释。
网友评论