java 项目规范
1、代码构成1文件头: /* * (C) Copyright 2014 Beijing XXX Co., Ltd * All Rights Reserved. */2包:·文件需要应用的包,必须引用到具体的类,不能以[*]来代替。3属性:·按照 Public -> protected -> 未指定 -> private的顺序来编写。4方法: 请按照以下顺序编写。 ·构造函数 -> 非静态方法 -> 静态方法。 · public -> protected -> 未指定 -> private。
2、命名规范1公共 名称必须要要用英文【严格禁止拼音】 不可以通过大小写来区别名字 名字不能以"_"等特殊字符开头。 名字中各个单词的首字母必须大写,其他的小写烫喇霰嘴(类名和接口名遵守此规范)2包命名 包命名中不能有重复的名字 包名必须全部小写 包中不能包含"_"等特殊字符。 与业务相关的包命名格式为: cn.com.caissa.<projectName>.<subSystem>.<moduleName> ·<projectName>为项目英文名称或英文简称或英文缩写。 ·<subSystem>为子系统名 ·<moduleName>为模块英文名称或英文简称或英文缩写,如果无细分模块的话可以省略。 与业务无关的包命名格式 cn.com.caissa.<projectName>.<subSystem>.common 根据共通的范围大小可以调整包的路径,如工程共通用和子系统共通用和某一个模块内共通用。3类命名 类的名称要有意义,并且使用完整的英文单词,如果单词过长,则要使用易于理解的单词缩写。 不要定义JDK中已经有的类。 接口的实现类为去掉接口开头的字母I,在结尾加上Impl。 所有抽象类的名字必须以【Abstract】开头。 所有异常类的名字必须以【Exception】结尾。 所有接口类的名字必须以"I"开头。4变量 采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 应该简短有意义,能够指出其用途。但是例如循环因子可以使用诸如“i”之类的变量。 类的引用命名首字母要小写,其后单词的首字母大写。引用名要有意义 接口的引用名首字母要小写,其后单词首字母大写。引用名要有意义 集合的引用命名采用引用名 + 后缀 后缀命名规则参考如下: List List Map Map Set Set5常量 常量的名字要全部大写,单词之间要以"_"隔开,并且使用final static修饰6方法名 方法名要以动词加名词的形式组织,首字母小写,后边的单词的首字母都是大写。 set/get方法 方法名为 "set+属性名" 或者 "get+属性名" boolean类型取得方法为 "is+属性名" 属性存取的getter和setter方法,使用系统生成的即可
3、集合 原则上,不用使用Vector,Hashtable. 不要返回NULL的集合类,返回元素个数是0个集合类。 集合类型声明时,应该声明接口类型,而非具体的实现类。 集合使用时必须加泛型
4、日志 方法的入口和出口要写log 发生错误的时候需要打印日志 作为系统接口的时候 循环中不能写日志 工具类中不能写日志 处理复杂业务需要加入日志
5、代码规范 如果抛出的是自定义异常,则必须要有详细信息:哪个类,哪个方法 筐毙险裆变量的使用域要尽量的小,做到用到的时候在声骈跪爸锂明,声明和使用要在一起 变量声明应该放在for,if,while,switch等语句的外面 循环处理和if条件判断中,不用使用return,一个方法只有一个返回点 循环的层数要少于3层 循环内不能使用"+"来连接字符串要使用,StringBuffer来连接字符串 循环内不要使用list.contain来查询元素,尽量使用Map来查找元素 循环内不要使用open.或者close等IO操作 循环内不要try catch 的操作,应该放在循环的外部 循环内尽量不要做生成对象的操作 所有传入的参数要进行非空的验证 方法参数必须是有效的必须的 方法参数限制,每个方法的参数不可以超过5个。 不重复实现API已提供的功能,例如StringUtils.isEmpty() IO操作等需要在使用结束后close()的对象都必须在try-catch-finally的finally中close()。 注意运算符的优先级,并用括号明确表达式的运算顺序,避免使用默认优先级。 二元运算符(除去"/")、二元逻辑运算符、赋值运算符,即"+、-、*、%、+=、-=、*=、/=、%=、<、>、==、<=、>=、="等符号左右两边要加半角空格类的长度 通常: 400行 最大: 1000行(包含注释)方法的长度 通常: 80行 最大: 300行(含注释)