编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题。今天分享一个标准的Java编码规范给大家,希望对于大家今后的开发工作带来帮助。 编码规范的意义 规范实施建议 格式规范a)缩进 b)行长度 c)声明 d)声明变量、常量 e)声明类 f)语句 class Example { void bar() { do { } while (true); try { } catch (Exception e) { } finally { } } void foo2() { if (true) { return; } if (true) { return; } else if (false) { return; } else { return; } }}
g)空格的使用 等号左右必须各有一个空格: h)变量类型的使用 ListString> names = new ArrayListString>();
命名规范通用规则 包(Packages) 一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names)。 package com.itotem.viewpackage com.itotem.utils.xxxx
类(Classes) 命名规则:类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML) public class Buttonpublic class EditText
接口(Interfaces) 命名规则:接口类名以大写“I”开头,大小写规则与类名相似, public interface IProjGroupService
方法(Methods) 方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 public void onCreate(Bundle savedInstanceState)public void run()
局部变量(Local Variables) 采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们一般用于整型。c,d,e,它们一般用于字符型,变量名不应以下划线或美元符号开头。 int i = 0;float imageWidth = 0;
实例变量(Instance Variables) 大小写规则和类名相似,除了前面需要一个m。 private int mEmployeeId = 0; private String mName = '';
若实例变量为public类型的则和局部变量采用相同的命名规则。 public int width = 0; public String contactName = '';
常量(Constants [采用stiatc final 修饰]) 类常量的声明,应该全部大写,单词间用下划线隔开。(类似C语言的宏定义)。 private static final int MIN_WIDTH = 4; private static final int MAX_WIDTH = 999;
资源id 资源id全部采用小写,单词之间用下划线隔开。 注意:这个小写规范是Android强制执行的,如果出现大写或者特殊字符工程是不能编译的。会报错 download app_name call_log_type
备注(Remark) 附加说明 组织规范 引入包规范 注释规范a)通用注释规则 b)说明 c)javadoc注释标签语法定义说明 d)类的注释 范围:所有java类,可以不包括javabean 书写规范:类的注释必须写在该类的声明语法之前。在注释中要描述该类的描述,创建者,创建日期。 类注释模板:可以通过eclipse配置(Code Templates 中的 Code 的New Java files) ${filecomment}${package_declaration}/** * Title: ${project_name}
类注释示例: package cn.sh.sstic.projectmanagement.projectfeasibleschemaeval;
/** * Title: mwbas2008
e)方法的注释 目的:简要概述该方法的功能,包括其参数、返回值意义的注释 范围:java类中的各种方法 书写规范:方法注释必须写在方法定义之前。该注释包括:方法其功能的简单 描述,方法的参数、返回值类型、返回值意义简单的描述。 模板:对于已定义好的接口的方法,可以直接输入 /**回车 eclipse可自动生成注释模板 示例: /** * 演示方法注释 * @param args * @return * 返回 null 表示没有找到 * @throws Exception */ private String[] demoFunction(String args) throws Exception{ return null; }
f)失效代码块的注释 书写规范:失效代码块采用块注释方法行注释方法进行标注。 示例: // if (1==1) { // // } else { // // } 或者 /* if (1 == 1) { // 如果1与1相等的时候 String code1; } else { // 如果1与1不相等的时候 String code2; }*/ g)分支语句的注释 书写规范:在分支语句代码的下一行进行注释 示例: if (1==1) { //如果1与1相等的时候 code } else { //如果1与1不相等的时候 code }
h)变量、常量的注释 String commitFlag; //提交标志i)@Override的使用所有的重写方法,在方法开始加上 @Override 关键字。
如: @Overridepublic void onCreate(Bundle savedInstanceState) {}
异常处理规范 重新抛出的异常必须保留原来的异常,即throw new NewException(“message”, e); 而不能写成throw new NewException(“message”),更不能不继续往上层抛出异常。 补充规范 代码在提交版本控制之前,请确保已清除不必要的log调试语句
|
|