@wangwangheng
2015-05-05T09:14:51.000000Z
字数 3220
阅读 2777
公司文档
版本 | 日期 | 作者 | 更新内容 |
---|---|---|---|
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_title
xmlns: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()
方法