记-阿里开发手册规范(JAVA)

本文介绍了阿里巴巴Java开发手册中的编程规范,包括命名、常量定义、格式、OOP、集合处理、并发处理、异常日志及MySQL规范。强调了命名的重要性,如避免拼音和英文混合,正确使用驼峰命名。此外,还提到了代码格式如大括号的使用,以及并发处理中的线程安全和避免使用HashMap在并发场景下。同时,提倡遵循日志约定和数据库的最佳实践,如避免全模糊匹配和使用唯一索引。

从接触java以来,我们一直学习着各种技术和架构。但我们常忽略代码可读性和一些特殊的规范和约定。有很多人尤其是新人写的代码,运行可能没什么问题。但却不忍直视,甚至内涵风险。

业内代码规范可能各有各的理解,这里介绍一下国内的大佬,也是大部分初入职场的同学都会看到阿里Java开发手册。这里只列一些个人觉得较重要的,还是建议搭建看一下完整版。

编程规范

命名规范

  1. 禁止使用拼音和英文混合
    这里还是建议大家使用英文命名,纯拼音也不要用,有助于理解和规范,不会可以百度翻译嘛
  2. 类名使用驼峰,特殊模型相关可以忽略
    正例:UserService / UserDAO / RemotingAdapter
    反例:Userservice / UserDao / TCPUDPDeal
    这里需要注意像TCP/UDP/XML等这种英文缩写建议也使用驼峰而非全大写
  3. 方法名、参数名、变量都统一采用驼峰写法,首字母小写
  4. 常量命名全大写,单次间使用下划线
    如:MAX_CONNECTION_COUNT
  5. 抽象类命名,以Abstract或Base开头;异常类以Exception结尾;测试类以Test结尾。
  6. boolean类型变量,不要以is开头,避免部分序列化框架出错。
    正例:boolean exists
    反例:boolean isExists
  7. 包名统一小写,使用点分割,尽可能点之间都是一个自然语义的英文单次。报名统一使用单数形式。
    如:com.alibaba.open.util
  8. 如果使用设计模式,在类名中体现,有利于阅读者理解
    如:OrderFactory / LoginProxy / ResourceObserver
  9. 类接口中属性和方法不要加任何修饰符
    注:JDK8中接口允许默认实现,有default
  10. 对于Service和DAO类,一定是接口,实现需要以Impl的后缀结尾。区别于接口
    如:CacheService CacheServiceImpl
  11. 枚举类名加上Enum后缀,成员名称全部大写,下划线分割
    枚举就是特殊常量类,所以命名按常量方式;类命名加Enum后缀,如果使用枚举是为了实现单例模式,可以不加Enum后缀

常量定义

  1. 不允许出现魔法值,即:未经定义的常量
    如:String key = “id=” + id;
  2. long和Long初始赋值时,必须使用大写,为了避免和数字1搞混。
    正例:Long a = 2L
    反例:Long a = 2l
  3. 不要使用一个常量类维护所有的常量,尽可能根据功能进行拆分归类,分开维护
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值