提高开发效率,比较重视代码规范,尤其是可扩展性和可维护性,以及可读性。如果你是一个刚进公司的开发者,最好先问问前辈是否有

内部的开发规范,花点时间过一遍。即使提交代码没有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,否则你一定要良心过不去

最新文章

  1. MVC3 数据验证用法之密码验证设计思路
  2. Spark Shell & Spark submit
  3. wa~哭笑天使
  4. Linux下vi编辑器粘贴复制剪切功能
  5. 使用SourceTree
  6. 在SQL中使用PL/SQL函数存在的问题
  7. CAS 4.0 配置开发手册(转)
  8. 关于Hibemate
  9. 细节!重点!易错点!--面试java基础篇(一)
  10. Azure IoT Hub和Event Hub相关的技术系列-索引篇
  11. 深入浅出AQS之组件概览
  12. Vue打包优化之分析工具webpack-bundle-analyzer
  13. firewall centos
  14. osgi Quick Start
  15. WPF window 子窗口反馈效果(抖动/阴影渐变)
  16. centos6.8安装DB2 10.5
  17. 组件化 得到 DDComponent JIMU 模块 插件 MD
  18. XmlSerializer的GenerateTempAssembly性能问题例外
  19. 端口模式(IN,OUT,INOUT,BUFFER)
  20. N个数中第k个最大者

热门文章

  1. 28. string类中方法练习
  2. MySQL主键跟外键
  3. 约数个数求和+线性筛约数——bzoj3994
  4. 浅析php命令执行
  5. Linux命令(2):cat
  6. POJ2449-A*算法-第k短路
  7. Windows系统下安装MySQL 8.0.11数据库
  8. Elasticsearch(Transport Client)常用操作
  9. sp_executeSql 用法 执行有参数的sql字符串 出现必须声明标量变量 "@XXX"。
  10. 19-MySQL-Ubuntu-数据表的查询-自关联(八)