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_功能描述
因篇幅问题不能全部显示,请点此查看更多更全内容