@wangwangheng
2015-05-05T09:14:51.000000Z
字数 3220
阅读 2984
公司文档
| 版本 | 日期 | 作者 | 更新内容 |
|---|---|---|---|
| 1.0 | 2015-4-25 | 王恒 | 初稿 |
类名遵循驼峰命名法,首字母大写,类名只允许英文单词,绝对不可以出现如中文、数字、下划线、全大写字母、全小写字母等
// 数字public class Part9{}// 拼音public class PartJiu(){}// 数字和下划线public class Part_9{}
public class PartNine{}
static final修饰_分隔单词数字、拼音等内容特别注意
代码里面绝对不要出现魔术字,防止产生歧义和Bug
// 错误的使用魔术字getIntent().getIntExtra(KEY_ID,-1);// 正确的方式是定义一个常量来表示非法状态private static final int INVALID_ID = -1;getIntent().getIntExtra(KEY_ID,INVALID_ID);
s开头(如sInstance等)驼峰命名法m开头。 特别注意
- 如果是普通的
POJO(普通Java对象)一般对变量提供setter、getter方法和toString()方法- 需要Serialization的变量,一定要实现Serialization接口,并添加序列化id ,如
private static final long serialVersionUID = - 792307888317213554L;- 如果字段存放在Fragment或者Activity中,则要考虑内存回收的问题,在
onSaveInstanceState和onCreate或onCreateView方法中保存和恢复变量
模块&公共包的方式进行分包CTRL + SHIFT + F可以快速格式化代码Source --> Format也可以格式化代码CTRL + SHIFT + O 可以整理我们的import语句{}
// 错误的写法if(condition) doByCondition();// 正确的写法if(condition){doByCondition();}
{之前进行换行:
// 错误的写法if(condition){doByCondition();}// 正确的写法if(condition) {doByCondition();}
// 错误的写法if(a>b){max=a;}// 正确的写法if(a > b){max = a;}
布局文件命名
- 如果是activity的布局,则使用
activity_Activity名称的方式命名,如MainActivity的布局文件activity_main.xml- 如果是fragment的布局,则使用
fragment_fragment名称的方式命名,如EventFragment的布局文件fragment_event.xml- 如果是列表的空View,如果只针对具体界面则使用
empty_界面名称,如MainActivity,empty_main_activity.xml;如果是通用的,则使用emptyView的功能来命名,如没有网络的命名方式empty_no_network.xml- 如果是FooterView或者HeaderView则使用'footer_xxx'或者
header_xxx的方式来命名文件- 如果是ListView的布局,则使用
item_(activity,framgent,或者模块名)来命名- 如果是要被包含到其他布局中的布局,则以
include_功能或内容的含义.xml的方式命名- 如果布局文件仅仅是为了某些特定的组件,则以
layout_组件类型_组件功能.xml的方式命名,如layout_dialog_exit.xml- 其他布局文件需要以
layout_功能.xml的方式书写
其他资源放入到指定类型的文件中
view的id命名以view名缩写 + 模块名 + 功能的方式书写,如EventFragment的Topbar是一个FrameLayout,则它的id是flEventFragmentTopbar
模块_字符串的含义来命名,如EventFragment的Topbar的标题的命名方式event_topbar_titlexmlns:custom="http://schemas.android.com/apk/res-auto"
// 错误的代码,查询三次都使用了同一个引用,导致上一次查询的cursor没有关闭Cursor cursor = query();cursor = query();cursor = query();// 正确的 处理Cursor cursor = query();cursor.close();cursor = null;cursor = query();cursor.close();cursor = null;cursor = query();cursor.close();cursor = null;
commitAllowingStateLoss()方法替换commit()方法