Code Review之P3C的安装使用

本文详细介绍了如何在Eclipse中安装和使用P3C插件,该插件基于《阿里巴巴Java开发手册》提供代码规范检查,帮助开发者提高代码质量和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在平时的程序开发中Code Review(代码审查)是必不可少的步骤,旨在提高代码的可读性和可维护性,减少后期的维护成本,让你的代码看起来更舒服。这个可以通过阅读开发文档和安装必要的插件实现。重视Code Review,既是对自己负责也是对他人负责。

重要提示

  • 代码编辑器 eclipse
  • 相关的链接和资源已经放在文章的末尾,有需要的童鞋可以自行查看和下载。

开发规范文档

这里我要推荐《阿里巴巴Java开发手册》,截止到目前已经发布了1.4.0(详尽版)。《阿里巴巴Java开发手册》是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善。这是阿里回馈给Java社区的一份礼物,希望能够帮助企业开发团队在Java开发上更高效、容错、有协作性,提高代码质量,降低项目维护成本。
个人建议最好是平时抽空阅读简单留个印象,当项目用到的时候再次回顾,写出符合规范的代码,少走一些坑。当然对手册上不是很明白的可以直接谷歌或者提出来跟大家讨论,这样可以提升自己的认识。
备注,开发手册已经放在末尾的资源链接

代码规范插件

p3c的安装和卸载

代码规范检查插件p3c,是根据《阿里巴巴Java开发手册》转化而成的自动化插件。通过扫描文件或者应用,再用简洁的面板按照等级给出一些合理的建议。这些详细的建议点击进去可以直接跳转到对应的文件,十分的方便。

插件安装

方式一 离线安装(推荐)

这种方式使用eclipse导入插件的压缩包即可,简单的说就是先手动下载再安装,跟在线安装大同小异,效率比在线安装高一些。

1、下载压缩包

访问p3c插件地址,下载zip包

在这里插入图片描述

2、点击Help,选择lnstall New Software

在这里插入图片描述

3、选择压缩包

在对话框中点击Add,输入插件的名字和选择压缩包,再点击下方的Add
在这里插入图片描述

4、对插件打钩,点击Next

在这里插入图片描述

5、继续点击next

在这里插入图片描述

6、接受协议,再点击Finish

在这里插入图片描述

7、安装后重启

当你在菜单栏看到相关图标或者右键看到‘阿里编码规约扫描’时表示安装成功。

在这里插入图片描述

特别提醒

有些博客介绍离线安装的时候,将插件解压出来的features和plugins这两个文件夹复制到eclipse的目录下。这样虽然也可以安装成功,但是在插件管理界面是看不到相关信息的,不便于以后的升级和卸载,所以不推荐使用这种方式。

在这里插入图片描述

方式二 在线安装
1、点击Help,选择lnstall New Software

在这里插入图片描述

2、输入插件地址

在对话框中点击Add,输入插件的名字和下载地址 https://p3c.alibaba.com/plugin/eclipse/update/,再点击下方的Add

在这里插入图片描述

3、对插件打钩,点击Next

在这里插入图片描述

4、继续点击next

在这里插入图片描述

5、接受协议,再点击Finish

在这里插入图片描述

6、安装后重启

当你在菜单栏看到相关图标或者右键看到‘阿里编码规约扫描’时表示安装成功。

在这里插入图片描述

插件卸载

1、点击Help,选择lnstall New Software

在这里插入图片描述

2、点击already installed

在这里插入图片描述

3、选中插件,点击Unistall

在这里插入图片描述

4、在对话框中点击Finish

在这里插入图片描述

5、卸载之后重启

在这里插入图片描述

插件的使用

1、选中你要扫描的的文件或者应用,右键选择‘阿里编码规约扫描’功能,或者点击菜单栏的扫描按钮

在这里插入图片描述

在这里插入图片描述

2、在控制台的‘P3C Results’和‘Rule Detail’即可看到扫描结果建议和示例

其中P3C Results中是按等级显示的,红色的代表严重,赶紧修改;黄色的代表警告,应该修改;蓝色的代表建议,最好修改。可以直接连接到指定的文件从而修改,方便极了。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、根据提示进行修改,右侧有quick fix按钮,不过目前很多时候还是手动修改。还有目前不支持代码实时检测,需要手动触发,所以改完之后再重新扫描就好了。

在这里插入图片描述

4、如果你已经修改完毕或者不想修改了,可以点击‘P3C Results’窗口中右侧的‘x’关掉扫描功能,当然使用‘close project’再重新打开应用也是可以的。

在这里插入图片描述

在这里插入图片描述

5、点击菜单栏的蓝色按钮还可以进行语言的切换

在这里插入图片描述

至此,安装、卸载和使用的教程已经完成了。

注释和格式化模板

官方还额外提供了eclipse代码格式化和注释的模板,通过导入模板和开启自动保存功能,可以帮我们美化代码,让代码看起来更加的舒服。

1、下载相关模板

模板下载地址

  • ali_eclipse_codeStyle_codeTemplate.xml 阿里的注释模板
  • ali_eclipse_codeStyle_formatter.xml 阿里的格式化模板

2、导入格式化模板

在这里插入图片描述

3、导入注释模板

在这里插入图片描述

4、设置保存自动格式化

当保存的时候可以按照你之前设置的模板进行格式化代码,免去了很多重复劳动。

在这里插入图片描述

5、设置author信息

默认情况下注释中的author一般是administrator,很明显不是我们想要的。可以通过设置eclipse安装目录下的.ini文件,如果是eclipse对应是eclipse.ini,如果是sts-eclipse对应的是STS.ini文件的-vmargs 后面增加参-Duser.name=yourusername即可。这种方式是全局设置。

在这里插入图片描述

6、效果演示

保存自动格式化,简约清晰,突出重点。

/**
 * 生成token
 * 
 * @author huangjg
 * @date 2020/06/25
 */
public class JwtUtil {

    /**
     * 
     * 生成token
     * 
     * @param subJect
     * @return
     */
    public static String createToken(String subJect) {
        Algorithm algorithm = Algorithm.HMAC256(JwtConstant.SECRET);
        // 头部信息
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("alg", JwtConstant.ALG);
        map.put("typ", JwtConstant.TYPE);
        // 设置有效时间
        LocalDateTime now = LocalDateTime.now();
        Date nowDate = localDateTime2Date(now);
        LocalDateTime expireTime = now.plusMinutes(JwtConstant.EXPIRATION);
        Date expireDate = localDateTime2Date(expireTime);
        // 生成token
        String token = JWT.create().withHeader(map)// 设置头部信息 Header
            .withIssuer(JwtConstant.ISSUER)// 设置 载荷 签名是有谁生成 例如 服务器
            .withSubject(subJect)// 设置 载荷 签名的主题
            // .withNotBefore(new Date())//设置 载荷 定义在什么时间之前,该jwt都是不可用的.
            .withAudience(JwtConstant.AUDIENCE)// 设置 载荷 签名的观众 也可以理解谁接受签名的
            .withIssuedAt(nowDate) // 设置 载荷 生成签名的时间
            .withExpiresAt(expireDate)// 设置 载荷 签名过期的时间
            .sign(algorithm);// 签名 Signature
        return token;
    }

    /**
     * 校验token
     * 
     * @param token
     * @return
     */
    public static String verifyToken(String token) {
        Algorithm algorithm = Algorithm.HMAC256(JwtConstant.SECRET);
        JWTVerifier verifier = JWT.require(algorithm).build(); // 获取实例
        DecodedJWT jwt = verifier.verify(token);
        String subject = jwt.getSubject();
        return subject;
    }

    public static Date localDateTime2Date(LocalDateTime localDateTime) {
        ZoneId zoneId = ZoneId.systemDefault();
        ZonedDateTime zdt = localDateTime.atZone(zoneId);
        Date date = Date.from(zdt.toInstant());
        return date;
    }
}

结语

通过熟读开发文档和规范化插件的使用,让我们写出更加优雅的代码,离大神的背影又近了一步。

相关链接

p3c github官方地址
相关资源下载
p3c安装教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值