命名风格

  1. 命名使用全英文 / 纯拼音,不可以混合使用
  2. 类名使用UpperCamelCase式驼峰命名,即每个单词的首字母都要大写(除去DO、BO、DTO、VO、AO等固定缩写)
  3. 方法名参数名变量名使用lowerCameCase式驼峰命名,即除去首个单词之外的其他单词都要首字母大写
  4. 常量每个单词全部大写,单词间使用下划线隔开
  5. 抽象类使用 Abstract/Base开头,异常类使用Exception结尾,测试类使用Test结尾
  6. 杜绝不规范,不明意义的缩写
  7. Service的实现类使用Impl作为后缀来和接口做区分

常量定义

  1. 禁止任何魔法值
  2. long和Long初始赋值时,必须使用大写的L(避免小写 l 和 1 混淆)

代码格式

  1. 大括号为空时,直接写{},不用换行;非空时做到:“ { ” 后换行,“ } ”前换行,如果“ } ”后有else等代码,则不用在换行,否则换行
  2. “ ( “右边不要空格, “ ) ”左边不要空格
  3. if,for,while,switch,do和括号之间加空格
  4. 二目,三目运算符左右各加一个空格
  5. 缩进使用四个空格(如果要使用Tab就要先将Tab设置为4空格)
  6. 多个方法参数之间用于隔开的逗号后需要加空格
  7. IDE的text file encoding 设置为UTF-8,中文件换行使用Unix

OOP规约

  1. 对于一个类中的静态方法或静态变量,直接使用类名调用访问,不要创建对象访问
  2. 覆写方法需要加@Override注解
  3. 不使用过时的方法和类
  4. Object.equals容易报NPE异常,请使用常量调用equals => “test”.equals(object);
  5. 相同类型的包装类对象进行值的比较时均使用equals
  6. 序列化新增属性时,不修改sevialVersionUID值
  7. 构造方法中不要添加业务逻辑,需要请求写入init中
  8. POJO类必须写toString方法,如果是继承的POJO类,则需要加super.toString