提高开发效率,比较重视代码规范,尤其是可扩展性和可维护性,以及可读性。如果你是一个刚进公司的开发者,最好先问问前辈是否有
内部的开发规范,花点时间过一遍。即使提交代码没有review的步骤,自己心里应该有个规范。业内比较统一的此处不总结。
一 、命名风格
1、抽象类以Abstract或Base开头,异常类以Exception结尾,枚举类以Enum结尾,常量类以Consts结尾,测试类以Test结尾
2、数组定义中类型与中括号紧挨 int[] arr;
3、POJO类中布尔类型的变量,都不要加is前缀
4、包名使用单数形式,类名若有复数含义可用复数形式,如Utils
5、除非业内公认的缩写,单词不要缩写
6、若使用了设计模式,以模式名结尾,如OrderFactory,ServiceProxy
7、接口类的方法和属性不要加任何修饰符号,1.8以前的方法默认都是public abstract 修饰,属性都是public static final的
1.8及以后的加入了static和default修饰符,这两种修饰的方法都需要方法体
8、接口和实现类:XxxService,XxxServiceImpl,XxxDao,XxxDaoImpl
9、结构分层的类的方法命名:
(1)获取单个对象用get做前缀 getObject
(2)获取多个对象用list做前缀+复数形式结尾 listObjects
(3)获取统计值用count做前缀
(4)插入方法用save/insert做前缀
(5)删除用remove/delete做前缀
(6)修改用update做前缀
(7)2种VO:数据表对象xxxDO,网页视图对象xxxVO
二、常量定义
1、long型赋值以大写的L结尾,以免数字1与小写字母l混淆
2、常量类也要分类,不要全部放在一起。比如缓存相关的常量用CacheConsts,系统配置相关的用ConfigConsts,
这些类均放在constant包下,类内部的常量放在本类中使用,不要公开出来放在常量类中
3、变量值仅在一个固定范围内变化的,用enum类型定义。比如常见的数据库字段值的汉字转义
三、代码格式
1、大括号,看示例:(另外左侧大括号与字符留一个空格)
int a(){}; int a(){ System.out.println("1"); } int a(int b){ if(b==1){ System.out.println("1"); }else if(b==2){ System.out.println("2"); }else{ System.out.println("3"); } }
2、小括号,左右小括号与字符都不留空格。if/for/while等保留字与括号加一个空格
3、运算符左右都加一个空格
4、使用统一的Tab缩进,自行在IDE等开发工具上提前设置
5、换行:运算符以及点号调用符与下文一起换行,参数换行在逗号后换行。最常见的是append("xxx")方法
6、IDE统一设置text file encoding为utf-8;换行符使用Unix格式,不要用Windows格式
7、方法总行数不要过多,一般建议是80行,额外逻辑应提取出来独立一个方法,使主干逻辑清晰
8、除了逻辑或者业务意义需要加一个空行来隔开,其他的情况不要出现无意义的空行
最后:Intellij类写完了一定要按Ctrl+Alt+O,Ctrl+Alt+L; Eclipse类写完了一定要按Ctrl+Shift+F,否则你一定要良心过不去