当前位置: 首页 > article >正文

代码质量提升,代码扫描 review 之 Codacy 工具使用

目录

  • 一、什么是Codacy
  • 二、GitHub 上使用 Codacy
  • 三、Codacy上导入GitHub项目

一、什么是Codacy

Codacy 是用于代码 review 检测(即代码审查)的工具,目前支持对40多种编程语言检测,如 c、c++、c#、java 、python、javascript 等。

Codacy 可用于 GitHub 和 GitLab 上的项目每次的提交内容进行代码检测,帮你 review 代码,检测哪些写得不好可能需要调整之类的。

二、GitHub 上使用 Codacy

1.GitHub 上目前已经集成了 Codacy 工具,你可以在你的 GitHub 项目里点击 Actions , 然后搜索 Codacy 进行配置.。

请添加图片描述
请添加图片描述
2.在配置界面点击右上角的 Smart commit 并填写提交标题和详细说明,选择是把 codacy .yml 配置文件提交到 main 分支还是新建一个分支提交。(这一步的操作会把 Codacy 的 codacy .yml 配置文件加到你项目的 .github/workflows 文件夹下)

请添加图片描述

3.安装成功后,以后项目成员每次提交代码到该分支,就会自动扫描本次提交的代码进行检查。
(可在 Actions 里查看具体的扫描检查情况,黄色圆圈的是正在检测的提交,绿色打钩是已经检测的提交,如果是红色打叉的就是有问题需要优化调整的,可以点进去查看具体的情况。)

请添加图片描述

三、Codacy上导入GitHub项目

虽然上面可以在 GitHub 里使用 Codacy 工具进行每次提交代码的 review 检测,但是不能很好的对整个项目所有代码文件和所有提交,以及不能指定具体文件进行代码 review 检测。

这个时候可以从 Codacy 官网使用 GitHub 登录把你 GitHub上的项目加入到 检测项目列表进行扫描,就很方便。

这里说明下 Codacy 对于公共的开源库是免费使用的(就像GitHub 上的开源公开库),如果你的项目是非开源的就需要每个月 15 美刀了。

1.使用 GitHub 登录 Codacy 官网

Codacy 官网上使用 GitHub 账号登录。

登录后点击你的用户名下的Add进行授权(我这里已经点过了所以没有显示),然后点击你的名称可以进入到你的项目列表:
请添加图片描述

2.点击 Add repository 来添加 GitHub 项目到仓库列表

在这里插入图片描述

选择要扫描的项目点击 Add (如果选择的那个项目你不是管理员是添加不了的)

请添加图片描述

若出现提示信息,点击 Install GitHub App

请添加图片描述

接着你可以选择授权是把你 GitHub 上的所有公开项目导入,还是只导入某一个公开项目 (所有导入的项目在Codacy都是只读的)。

请添加图片描述

3.导入项目后,从仓库列表点进项目会开始扫描项目,扫描完后可以在 dashboard 页面看到总的项目情况。

在这里插入图片描述

你也可以点击 Issues 查看项目存在的问题和需要优化的地方:

在这里插入图片描述

当然如果你想针对每次提交的进行查看可以点击 Commits 。如果想查看每个文件的扫描情况可点击 Files 查看,它会对扫描结果按照ABCD进行打分:

在这里插入图片描述


http://www.kler.cn/a/3802.html

相关文章:

  • 【LeetCode100】--- 寻找重复数
  • PHP:从入门到进阶的全方位指南
  • FPGA 21 ,深入理解 Verilog 中的基数,以及二进制数与十进制数之间的关系( Verilog中的基数 )
  • 【神经网络基础】
  • 如何使用 Go语言操作亚马逊 S3 对象云存储
  • go语言zero框架通过chromedp实现网页在线截图的设计与功能实现
  • 常见的2D与3D碰撞检测算法
  • 信息系统项目管理师第四版知识摘编:第9章 项目范围管理
  • 【Linux】进程理解与学习Ⅳ-进程地址空间
  • 冯诺依曼,操作系统以及进程概念
  • RPA机器人能做什么?自动化办公、简化工作流程……还有很多事情等着你挖掘
  • Chat GPT介绍
  • 推荐人工智能领域十大类专业好用的深度学习预训练模型
  • 2022财报逆转,有赞穿透迷雾实现突破
  • 简单XXE漏洞理解以及在实战中演练【网络安全】
  • Springboot项目如何实现mybatis的流式查询
  • 【Linux】-初识Linux
  • 尚硅谷大数据Hadoop教程-笔记03【MapReduce】
  • 【Linux】 基础IO——文件(中)
  • 计算机视觉知识点(一)——交并比(IoU)及其若干改进
  • python例程:AI智能联系人管理的程序
  • 跟内存有关的笔试题
  • JavaScript中的for in和for of的区别(js的for循环)
  • Vue 实现图片监听鼠标滑轮滚动实现图片缩小放大功能
  • Spring学习流程介绍
  • 跨境电商卖家工具——跨境卫士内容介绍