阿里巴巴开发手册 --编程规约
命名风格
- 命名使用全英文 / 纯拼音,不可以混合使用
- 长类名使用UpperCamelCase式驼峰命名,即每个单词的首字母都要大写(除去DO、BO、DTO、VO、AO等固定缩写)
- 方法名,参数名,变量名使用lowerCameCase式驼峰命名,即除去首个单词之外的其他单词都要首字母大写
- 常量每个单词全部大写,单词间使用下划线隔开
- 抽象类使用 Abstract/Base开头,异常类使用Exception结尾,测试类使用Test结尾
- 杜绝不规范,不明意义的缩写
- Service的实现类使用Impl作为后缀来和接口做区分
常量定义
- 禁止任何魔法值
- long和Long初始赋值时,必须使用大写的L(避免小写 l 和 1 混淆)
代码格式
- 大括号为空时,直接写{},不用换行;非空时做到:“ { ” 后换行,“ } ”前换行,如果“ } ”后有else等代码,则不用在换行,否则换行
- “ ( “右边不要空格, “ ) ”左边不要空格
- if,for,while,switch,do和括号之间加空格
- 二目,三目运算符左右各加一个空格
- 缩进使用四个空格(如果要使用Tab就要先将Tab设置为4空格)
- 多个方法参数之间用于隔开的逗号后需要加空格
- IDE的text file encoding 设置为UTF-8,中文件换行使用Unix
OOP规约
- 对于一个类中的静态方法或静态变量,直接使用类名调用访问,不要创建对象访问
- 覆写方法需要加@Override注解
- 不使用过时的方法和类
- Object.equals容易报NPE异常,请使用常量调用equals => “test”.equals(object);
- 相同类型的包装类对象进行值的比较时均使用equals
- 序列化新增属性时,不修改sevialVersionUID值
- 构造方法中不要添加业务逻辑,需要请求写入init中
- POJO类必须写toString方法,如果是继承的POJO类,则需要加super.toString
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT蛋的个人博客!