搜索
您的当前位置:首页正文

android应用编程规范

2024-04-30 来源:步旅网
JAVA编程规范

1 程序结构

1 排版

1-1 程序块要采用缩进风格编写、缩进的空格数为4个,严禁使用TAB键缩进

示例:

public void exa,mpl;e{

if(....){

....//progrpm code; } }

1-2 在类和接口、函数体的开始、if、for、do、while、switch、case 语句之后都需要采用如下的缩进方式: for(....){

}

if(...){ }

if(...){

}else if(...){

}else{ }

void examplefun(...){

}

public class exampleClass{ }

1-3 较长的语句(>80字符)要分多行书写,长表达式要在低优先级操作符处划分,操作符放在新行之首,划分新行要进行适当的缩进,以便阅读。

示例:

if(filename != null

&& (new file(logthpath + filename).length() < LogConfig.getFileSize())){ ...//progrpm code }

Public static LogIterator read(String logType,Date starttime,Date endtime, int loglevel,String username,int bufernum)

1-4 一行只能写一条语句

int a; int b;

1-5 在两个以上的关键字、变量、常量进行对等操作的时候、它们之间的操作符之前、之后或者前后需要加空格。进行非对等呢过操作时,如果关系密切的立即操作符,后不应加空格。

(1)逗号、分号后面加空格 Int a, b, c; (2)比较操作符、赋值操作符“=”、“+=”,算术操作符“+”、“%”,逻辑操作符“&&”,“&”、位操作符“<<”、“^”等双目操作符前后应加

(3)“!”、“~”、“++”、“--”、“&”等单目操作符前后不加空格 (4)“.”前后部加空格

2 注释规范

2-1 文件注释:文件注释写入文件头部,包名之前的位置,

示例: /*

*注释内容 */

Package com.miki.android.com

2-2 文件注释的内容:

格式: /*

*文件名 *版权 *描述 *修改人 *修改时间 *修改内容 */

示例: /*

*文件名:LogManager.java

*版权:Copyright 2014-11-03 miki *描述:通用日子系统 *修改人:张三

*修改时间: 2014-11-03 *修改内容:新增 *修改人:李四

*修改时间:2014-11-04 *修改内容 */

2-3 类和接口的注释:该注释在package之后。Class或者interface关键词之前,方便JavaDoc收集

Package com.miki.android.com /**

*注释内容 */

Public class CommManager{ }

2-4 类的注释主要是功能详细描述

说明:可以根据需要列出:版本号,生成日期、作者、内容、功能、与其他类的关系. 格式: /**

*<功能描述> *@author [作者]

*@Version [版本号,yyyy-MM-DD] *@see [相关类/方法] */

2-5 类属性、公有和保护方法注释:写在类属性、公有和保护方法上面

如: /**

*注释内容 */

Private void String mLogType; /**

*注释内容 */

Public void write(){ }

2-6列出方法的功能描述,输入参数、输出参数、返回值等 格式: /**

*<功能描述>

*@param [参数1] [参数1 说明] *@param [参数2] [参数2 说明]

*@return [返回类型说明] *@see [相关类/方法] */

2-7 注释与所描述的内容进行同样的缩排

如:

Public void example(){ //注释

CodeBlock One; }

2-8 对于变量的定义和分支语句(条件分支、循环语句等)必须编写注释

2-9 避免在一行代码或表达式之间插入注释

2-10 在代码功能、意图层次上进行注释,提供有用的额外的信息

如下注释为一个无效的注释: //如果receveflag为真 If(receveflag){ }

而如下注释可得到额外的信息: //如果从连接收到信息 If(receveflag){ }

2-11 当代码较长,特别是多重嵌套时,在程序块的结束行右方加注释标记,以表明程序块结束 2-12 方法内的单行注释使用 2-13 一些复杂的算法需要加上注释

2-14 在源码上修改 或添加需加上修改,添加人和功能注释

示例:

//add by miki zhang_s 2014-11-03 begin for function ......添加的内容

//add by miki zhang_s 2014-11-03 end for function

//modify by miki zhang_s 2014-11-03 begin for function ......修改的内容

//modify by miki zhang_s 2014-11-03 end for function

3 命令规范

3.1 包名采用域后缀倒置加上自定义的包名,采用小写字母。

格式:

com.miki.产品名.模块名: 如设置:com.miki.setting

3-2 类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写,其余小写。 如:

OrderInformation,CustomList,LogManager

3-3 类方法使用类意义完整的英文描述:第一个单词的字母使用小写、剩余的单词首字母使用大写,其余小写

如:

Private void calculateRate(); Public void addNewOrder();

3-4 静态变量

private static String sName;

3-4 方法中存取属性的方法采用setter和getter方法,动作方法采用动词+宾语的结构 格式如:

get +非布尔属性名 is + 布尔属性名 set + 属性名

如:

public String getType(); public boolean isFinished(); public void setVisible(boolean); public void show();

public void addKeyListener(Listener);

3-5 属性名使用意义完整的英文描述,第一个字母小写,而且必须使用m开头,每个单词的第一个字母大写,其余的小写.方法中的变量命名不加m,第一个单词的首字母小写,其他单词的首字母大写,其余小写

Public class a {

Public int mType; } 如:

public class OrderInformation{

private String mType;

private String mOrderNumver;

Public void show(){

Private String name;

Private Striong orderNumber

public void setType(String type){ mType = type; } } }

3-6 常量名使用全大写的英文描述,英文单词之间用下划线隔开,并且使用final static 修饰

public final static int MAX_VALUE = 1000;

public final static String DEFAULT_START_DATE = “2014-11-03”;

3-7 如果单词比较长,尽量选择以行业内约定的缩写方法

4 编码规范

4-1 数据库操作、IO操作等需要使用结束close的对象的,必须在

Try-catch-finally中的finally中调用close();

4-2 不对异常进行处理,应该记录日志或者ex.pritStackTrace().若有特殊原因,必须添加注释 4-3 自己抛出的异常必须填写详细的描述信息

4-4 注意运算符的优先级,并用好括号明确表达式的操作顺序,避免使用默认的优先级

4-5 避免使用没有意义的数字,用有意义的标识来替代 4-6 调试代码的时候,避免使用System.out和System.err(),应该使用统一开关的测试类进行统一打印,代码发布的时候统一关闭调试代码,定位问题的时候可以开启 4-7 集合中的数据不使用应该及时释放,如Cusrsor 5 资源的命名、注释 5-1图片资源的命名

5-1-1 静态图片

(1)背景:bg_描述,这种图片一般用在比较大的图片,作为界面的背景

(2)按钮:btn_描述,这种图片一般用在按钮上,而且这种按钮没有其他状态

(3)图标:ic_描述,这种图片,一般用于单个图标,如九宫格,或listview的小图标 (4)分割符图标:di_描述

5-1-2 动态图片

(1)背景:bg_描述_状态1[状态2],主要用于控件上的不同状态,而且在layout配置文件当中,一般不会直接引用,

而是通过定义“selecter”文件的方式引用,实现动态效果,而”selecter”的文件吗名字。可以直接“bg_描述.xml”

(2) 按钮:btn_描述_状态1【状态2】这种图片,主要用于表示按扭的不同状态,一般也是通过selector方式进行引用,有3态和6态之分

(3)选择框:chx_描述_状态1[_状态2],选择框,一般有2态和4态;

5-2 自定义图层资源

5-2-1.Layout:如果当前的xml文件,是用作activty的contentview

的,就用“layout_描述.xml”;

5-2-2.Dialog: 同上,用\"dialog_描述.xml\" ; 5-2-3.列表项:如果是表示listview中的每一项的布局文件,可以用“listitem_描述.xml”;

5-3 字符串资源,单词全部小写,每个单词之间使用“_”连接

str_功能描述

因篇幅问题不能全部显示,请点此查看更多更全内容

Top