代码质量提升,代码扫描 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进行打分:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/3684.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java 并发编程】我们为什么要学并发编程?

我们为什么要学并发编程?1. 为什么要并发编程?1.1 面试需要1.2 性能调优(1)加快响应时间(2)代码模块化、异步化(3)充分利用 CPU 的资源2. 并发编程的基础概念2.1 进程和线程&#xf…

python自动发送邮件(html、附件等),qq邮箱和网易邮箱发送和回复

在python中,我们可以用程序来实现向别人的邮箱自动发送一封邮件,甚至可以定时,如每天8点钟准时给某人发送一封邮件。今天,我们就来学习一下,如何向qq邮箱,网易邮箱等发送邮件。 一、获取邮箱的SMTP授权码。…

树与二叉树的存储与遍历

文章目录一、树概念二、二叉树三、二叉树的存储与遍历一、树概念 如前面的顺序表,链表,栈和队列都是线性的数据结构,树是非线性的结构。树可以有n个结点,n>0,当n0是就表示树为空 n>0,代表树不为空,不为空的树&am…

Idea+maven+spring-cloud项目搭建系列--11 整合dubbo

前言: 微服务之间通信框架dubbo,使用netty (NIO 模型)完成RPC 接口调用; 1 dubbo 介绍: Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提…

如果大学能重来,我绝对能吊打90%的大学生,早知道这方法就好了

最近收到很多大学生粉丝的私信,大多数粉丝们都迷茫着大学计算机该怎么学,毕业后才能找到好工作。 可能是最近回答这方面的问题有点多,昨晚还真梦回大学…其实工作了20多年,当过高管,创过业,就差没写书了。…

基于 Docker 的深度学习环境:入门篇

这篇文章聊聊如何从零到一安装、配置一个基于 Docker 容器的深度学习环境。 写在前面 这段时间,不论是 NLP 模型,还是 CV 模型,都得到了极大的发展。有不少模型甚至可以愉快的在本地运行,并且有着不错的效果。所以,经…

【数据结构】实现二叉树的基本操作

目录 1. 二叉树的基本操作 2. 具体实现 2.1 创建BinaryTree类以及简单创建一棵树 2.2 前序遍历 2.3 中序遍历 2.4 后序遍历 2.5 层序遍历 2.6 获取树中节点的个数 2.7 获取叶子节点的个数 2.8 获取第K层节点的个数 2.9 获取二叉树的高度 2.10 检测值为val的元素是否…

Fiddler抓取https史上最强教程

有任何疑问建议观看下面视频 2023最新Fiddler抓包工具实战,2小时精通十年技术!!!对于想抓取HTTPS的测试初学者来说,常用的工具就是fiddler。 但是初学时,大家对于fiddler如何抓取HTTPS难免走歪路&#xff…

使用stm32实现电机的PID控制

使用stm32实现电机的PID控制 PID控制应该算是非常古老而且应用非常广泛的控制算法了,小到热水壶温度控制,大到控制无人机的飞行姿态和飞行速度等等。在电机控制中,PID算法用的尤为常见。 文章目录使用stm32实现电机的PID控制一、位置式PID1.计…

史诗级详解面试中JVM的实战

史诗级详解面试中JVM的实战 1.1 什么是内存泄漏?什么是内存溢出?1.2 你们线上环境的JVM都设置多大?1.3 线上Java服务器内存飙升怎么回事?1.4 线上Java项目CPU飙到100%怎么排查?1.5 线上Java项目OOM了,怎么回事?1.1 什么是内存泄漏?什么是内存溢出? 内存溢出:OutOfMe…

JavaScript中的for in和for of的区别(js的for循环)

简述:js中的for循环大家都知道,今天来分享下for in和for of在使用时区别和注意事项,顺便做个笔记; 测试数据 //数组const arr [1, 2, 3, 4, 5]//对象const obj {name: "小李",color: ["plum", "pink&q…

【巨人的肩膀】JAVA面试总结(七)

💪MyBatis 1、谈谈你对MyBatis的理解 Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以…

蓝桥杯C/C++VIP试题每日一练之完美的代价

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…

Python 十大开源Python库,看看你熟悉几个?

嗨害大家好鸭!我是芝士❤ 对于码农来说, 关注的永远是新近有什么流行的、 既能解决问题又好用的利器。 本文就为你盘点十大开源Python库。 1、Pipenv 第一名非它莫属, 这个工具2017年初才发布, 但它已经能够影响每个Python开发…

菜鸟刷题Day7

⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.整理字符串:1544. 整理字符串 - 力扣(LeetCode) 描述 给你一个由大小写英文字母组成的字符串 s 。 一个整理好的字…

C语言番外-------《函数栈帧的创建和销毁》知识点+基本练习题+完整的思维导图+深入细节+通俗易懂建议收藏

绪论 书接上回,上回我们已经将C语言的所有知识点进行了总结归纳到同一个思维导图中,而本章是一个番外篇,将具体讲述一些更深入的知识。 话不多说安全带系好,发车啦(建议电脑观看)。 附:红色&…

我用Python django开发了一个商城系统,已开源,求关注!

起始 2022年我用django开发了一个商城的第三方包,起名为:django-happy-shop。当时纯粹是利用业余时间来开发和维护这个包,想法也比较简单,Python语言做web可能用的人比较少,不一定有多少人去关注,就当是一个…

我们在操作自动化测如何实现用例设计实例

在编写用例之间,笔者再次强调几点编写自动化测试用例的原则: 1、一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器。 2、一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统…

【开发】后端框架——Dubbo

前置知识: 微服务 Dubbo是高性能的RPC框架,主要目的是支持远程调用 Dubbo Dubbo是一个 高性能和透明化的RPC框架 ,主要目的是支持远程调用,是阿里巴巴SOA服务化治理方案的核心框架 最大的特点是按照分层的方式来 架构 &#xff0c…

LDNet分割模型搭建

原论文:https://arxiv.org/abs/2110.09103源码:https://github.com/unilight/LDNet 直接步入正题~~~ 一、ESA_blcok模块 1、PPM模块 class PPM(nn.Module):def __init__(self, pooling_sizes(1, 3, 5)):super().__init__()self.layer nn.ModuleList…