阿里java编程规约

编程规约

  1. 代码命名不能以下划线或美元符号,不能使用拼英和英文混合的方式,更不允许中文命名

  2. 类名使用UpperCamelCase风格,必须遵从驼峰形式

  3. 方法名、参数名、成员变量、局部变量统一使用lowerCamelCase风格

  4. 常量名全部大写。

  5. 包名统一使用小写。

  6. 建议接口类中的方法和属性不再添加任何访问修饰符,保持代码整洁。

  7. 接口与实现类的命名:
    内部的实现类用Impl的后缀与接口区别。

  8. 各层命名规约
    Service/DAO层方法命名规约:
    1)获取单个对象的方法用get做前缀
    2)获取多个对象的方法用list做前缀
    3)获取统计值的方法用count做前缀
    4)删除的方法用remove/delete做前缀
    5)插入的方法用remove/delete做前缀
    6)修改的方法用update做前缀

  9. long或者Long类型赋初值时,使用大写的L

  10. 大括号的使用规则:
    1)左大括号前不换行
    2)左大括号后换行
    3)右大括号前换行
    4)右大括号后还有else等代码则不换行;表示终止的右大括号后必须换行。

  11. 左小括号和字符之间不出现空格,右小括号和字符之间不出现空格。
    例:if(a==b)

12.if/for/while/switch/do等保留字与括号之间必须加空格。
13.换行要遵循的原则:
 1) 第二行相对第一行缩进4个空格,从第三行开始,不再继续进行缩进。
 2)运算符与下文一起换行。
 3)方法调用的点符号与下文一起换行。
 4)方法调用时,多个参数,需要换行时,在逗号后面进行。
 5)括号前不要换行。
14. 所有的覆写方法,必须添加@Override注解。
15. Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。可以避免NPE异常
16. 类内方法定义顺序依次是:公有方法或保护方法>私有方法>getter/setter方法。
17. 任何类、方法、参数、变量要严控访问范围。过于宽泛的访问范围,不利于模块解耦。例:删除一个private方法和public方法对程序的影响会不同。
18. 重写equals就必须重写hashCode。Set存储的对象和Map中做键的对象,必须重写hashCode和equals方法
19. 使用Arrays.asList()把数组转换成集合时,不能使用集合修改数据。内部还是数组。
20. 不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式。
21. JdK7版本以上,Comparator要满足三个条件:
1)x,y的比较结果和y,x的比较结果相反。
2)x>y,y>z,则x>z。
3)x=y,则x,z比较结果和y,z比较结果相同。

  1. 集合初始化,指定集合初始值大小,避免容量7次被迫空大,resize需要重建hash表,严重影响性能。
  2. 线程资源必须通过线程池提供。
  3. 循环语句的嵌套不能超过三层。
  4. 获取证书类型随机数时,不要使用Math.random()方法,使用Random对象的nextInt或nextlong方法
  5. try块放到事务代码中,catch异常后,如果需要回滚事务,一定要注意手动回滚事务。
  6. finally块必须对资源对象、流对象进行关闭。finally块中不能使用return语句。
  7. 单元测试之间不能互相调用,保持单元测试的独立性。
  8. 不要使用count(列名)或count(常量)来代替count(*)。
  9. 不得使用外键与级联,一切外键概念必须在应用层解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值