森.林木


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索
close
森.林木

Android开发规范

发表于 2017-01-12 | 分类于 Android | | 阅读次数

代码规范

命名规范

1、类名、接口命名规则

类和接口的名称应该是一个名词,与设计文档保持一致;采用大小写混和的方式,每个单词的首字母大写;
Example:

1
2
3
class UserTest;//各单词首字母大写
interface IUserTest;//接口以大写I开头
abstract class AbsUserTest; //抽象类以Abs开头

类的大小尽量不要超过500行,如果过大,应该考虑拆分成多个类。

2、方法函数命名规则

方法名应该是动词/动名词,采用大小写混和方式,第一个单词首字母小写,其后单词的首字线大写。回调方法以on开头,初始化方法以init开头,方法内尽量不要使用用匿名内部类。
Example:

1
2
3
4
run()
runFase()
onClick
initView()

一个方法尽量不要超过 50 行,如果方法太长,说明当前方法业务逻辑已经非常复杂,那么就需要进行方法拆分,保证每个方法只作一件事。

3、变量命名规则

变量命名采用大小写混和的方式,第一个单词首字母小写,其后单词的首字母大写。变量名应简短有意义;
尽量避免单个字符的变量名(临时变量除外);
所有变量要显式的赋值;
静态变量命名采用全大写字母,中间用下划线分隔。
Example:

1
2
3
4
int total = 0;
String name = null;
Button bnStart = new Button();
static int MAX_CODE_LINE = 200;

4、资源文件命名规则

因为该文件名不识别大写字符,所有单词间以下划线分割。布局文件以layout开头,选择器用selector开头
Example:

1
2
layout_main
selector_btn_click

附:常用控件缩写对应表
TextView —> tv
EditText —> et
WebView —> wv
ImageView —> iv
VideoView —> vv
MediaController —> mc
ListView —> lv
GridView —> gv
Gallery —> gly
Button —> btn
ImageButton —> ib
CheckBox —> cb
RadioButton —> rb
SeekBar —> sb
ProgressBar —> pb
Spinner —> spr
SearchView —> sv
AnalogClock —> ac
TimePicker —> tp
DatePicker —> dp

注释规范

1、类说明注释

该注释一般位于package/import语句之前,class描述之前。要求至少写出内容说明、创建者、创建时间和特别注意事项等内容。
Example:

1
2
3
4
5
6
/**
* 对类的说明
* @author 张三
* @time ${date}${time}
* @version
*/

2、方法说明注释

对每个方法都应有适当的说明,位于方法声明之前,包括:说明、参数说明、异常说明、返回值说明和特别说明等
Example:

1
2
3
4
5
6
7
/* 方法的一句话概述 
* 方法详述(简单方法可不必详述)
* @param s 说明参数含义
* @return 说明返回值含义
* @throws IOException 说明发生此异常的条件
* @throws NullPointerException 说明发生此异常的条件
*/

3、变量说明注释

对于类的全局变量,如果变量名不能直接说明其用途的,需要添加变量说明。格式如下
Example:

1
2
3
4
/*
*是否是超级管理员
*/
private boolean isAdmin = false;

4、方法体内代码的注释

对于较复杂的方法,需要说明其处理思路。方法内部的注释:如果为多行,使用/…/形式,如果为单行,使用//形式的注释。不要在方法内部使用java doc形式的注释

5、资源文件代码注释

资源文件也需要添加注释。
Example:

1
2
3
4
5
6
7
8
9
10
<!-- QSB -->
<dimen name="toolbar_button_vertical_padding">4dip</dimen>
<dimen name="toolbar_button_horizontal_padding">12dip</dimen>
<!-- External toolbar icon size (for bounds) -->
<dimen name="toolbar_external_icon_width">36dp</dimen>
<dimen name="toolbar_external_icon_height">36dp</dimen>

<!-- AllApps/Customize/AppsCustomize -->
<!-- The height of the tab bar -->
<dimen name="apps_customize_tab_bar_height">52dp</dimen>

特别说明:多使用IDE自带的注释补全和格式化功能,保证提交时,代码是格式化了的

目录结构

按逻辑组件

enter description here
久忆日记

按功能模块

enter description here
微盘

应用与反思

enter description here

enter description here

enter description here

1).功能模块和类型模块均可以划分,如果没有需要的话,模块的划分都可以省略。

2).activity和service这类组件划分,如果没有需要的话,组件的划分都可以省略。

3).所有的划分,如果没有需要的话,所有的划分都可以省略。

1…575859…76
xhrong

xhrong

76 日志
22 分类
129 标签
RSS
© 2025 xhrong
由 Hexo 强力驱动
主题 - NexT.Mist