【编程规范】从阿里规约到阿里插件的使用和反思

最近在和团队的新同事一起协同开发的时候,发现有些代码写的真的不尽如人意,很多常规规范并没有遵循,在和同事沟通后,有感而发,小小总结一下代码规范,毕竟无规矩不成方圆,开发规范从小开始,养成良好的习惯。如果在公司开发过程中没有相应的强制代码规范工具,需要自我约束的同学,给大家推荐个好用的插件可以辅助自己规范编程。

一、Alibaba Java Coding Guidelines 在idea上安装使用教程

经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C是世界知名的反潜机,专门对付水下潜水艇,寓意是扫描出所有潜在的代码隐患。这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把《阿里巴巴Java开发规约》强制条目转化成自动化插件,并实现部分的自动编程。
阿里技术公众号于今年的2月9日首次公布《阿里巴巴Java开发规约》,瞬间引起全民代码规范的热潮,上月底又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放出来。
为了让开发者更加方便、快速将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(IDEA、Eclipse)。该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,我们还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,如此爽心悦目的功能是不是很值得拥有?提升代码质量,提高团队研发效能,插件将会一路同行。

插件下载地址:GitHub - alibaba/p3c: Alibaba Java Coding Guidelines pmd implements and IDE plugin

好了废话不多说了,如何安装IDEA插件?
你只需打开 Settings >> Plugins >> Browse repositories 输入 Alibaba 搜索,看到对应插件后即可安装。
如果是mac 则Preferences >> Plugins >> Browse repositories 输入 Alibaba 搜索,看到对应插件后即可安装。

安装后重启即可

扫描完的效果如下,挺好用的,当你接手一个新的项目,如果要做代码规约的话,用这个插件可以说是不二之选:

二、开发规范内容

包括Java规范插件的作用和使用方法,Java编码规范的多个方面,以及Java异常规范的处理

1.Java开发规范

 2.常见的规范内容

其实在写代码的时候如果你前期开发不注意就会出现不规范的现象,所以开发规范从小开始,养成良好的习惯。

接下来看看不规范的集中典型:

2.1 finally里面不能写return

不能在finally块中使用return,finally块中的return返回后方法结束执行,不会再执行try块中的return语句。

像这样:

具体为什么可以看看这篇文章:https://blog.csdn.net/genffe880915/article/details/144158850

2.2 所有的覆写方法,必须加@Override注解。

重写方法的时候记得加这个

2.3 '" "' 应该作为方法 "equals()"的调用方,而不是参数

Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。

2.4 java中【HashMap】初始化时,尽量指定初始值大小

HashMap使用HashMap(int initialCapacity)初始化

initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即loader factor)默认为0.75, 如果暂时无法确定初始值大小,请设置为16(即默认值)。

Map<String, String> map = new HashMap<String, String>(16);

https://blog.csdn.net/u011429167/article/details/129719363

https://www.cnblogs.com/interdrp/p/16227828.html

2.5 常量命名应全部大写并以下划线分隔

常量命名应该全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长

2.6 枚举类型字段注释

所有的枚举类型字段必须要有注释,说明每个数据项的用途。 

2.7 不使用魔法值

不允许任何魔法值(即未经定义的常量)直接出现在代码中

2.8 方法长度限制

单个方法的总行数不超过80行

2.9 及时清理不再使用的代码段或配置信息

2.10 注释的使用

  • 方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释。注意与代码对齐。
  • 不要使用行尾注释
  • 所有的类都必须添加创建者信息。
  • 所有的抽象方法(包括接口中的方法)必须要用javadoc注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。
  • 类、类属性、类方法的注释必须使用javadoc规范,使用/**内容*/格式,不得使用//xxx方式和/*xxx*/方式。

2.11 驼峰命名

类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO / BO / DTO / VO / DAO

先写这么多,后面有了继续更新。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alex_81D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值