[转帖]从零开始搞基建(5)——代码质量

从零开始,基建,代码,质量 · 浏览次数 : 0

小编点评

**AppWorks** * 是一个 VS Code 插件,提供前端研发工具集。 * 包含代码质量检测插件 AppWorks Doctor,用于代码质量检测。 * 包含代码重构插件 AppWorks CodeMod,用于进行大规模代码库重构。 * jscpd 是一款代码重复检测工具,可以用于发现代码重复。 **jscpd** * 是一个代码重复检测工具,可以作为库使用,通过命令来使用。 * 可以忽略特定文件或目录,进行重复代码检测。 * 可以生成网页报告,显示重复代码的文件路径和行数。 * 可以对重复代码进行分析,并进行针对性的优化。

正文

https://www.cnblogs.com/strick/p/17336589.html

 


一、AppWorks

  AppWorks 是一款基于 VS Code 插件的前端研发工具集。

1)AppWorks Doctor

  我试用了其中的代码质量检测插件,这款插件会依赖 package.json 文件。

  

  所以当前项目的根目录中需要包含此文件,否则无法运行命令。

  在 Mac 环境中,Ctrl+Shift+P 快捷键后弹出命令框,选择 AppWorks: Scan Your Project,开始扫描当前项目。

  我试验了管理后台项目,虽然出现了扫描结果,但是只有 Ali ESLint 给出了打分,里面都是格式问题。

  

  上图中的可维护性和代码重复度的分数并没有给出。

2)AppWorks CodeMod

  AppWorks CodeMod 是一个进行大规模代码库重构的插件,也是通过命令来唤起的。

  命令框中输入 AppWorks: CodeMod 激活插件,出现一些重构选项,没有 Vue 代码的重构。

  

  试验了 React,会对项目进行扫描,然后给出待优化的文件路径,点 Update 按钮就能自动修改。

  不过看不到具体的代码行数,Next Generation JS 中可以修改 JavaScript 的语法。

  例如将 var 替换成 let 或 const、替换成箭头函数、使用字符串模板等。

二、jscpd

  jscpd 是一款代码重复检测工具,可以作为库使用,可以在终端通过命令来使用。

1)安装

  为了简单点,我全局安装了 jscpd。

npm install jscpd -g

  全局安装后,就可以根据其提供的关键字来组织命令。

jscpd --ignore "**/node_modules/**" --reporters html /Users/code/web/backend_server

  在上面的命令中,忽略了 node_modules 目录中的文件,然后输出网页报告,目录如下。

  

  注意,当前目录(终端所在的位置)中必须包含 report 文件夹,否则无法输出报告。

2)报告

  运行命令后,会在终端看到两两比对,输出重复代码的文件路径,并且给出了详细的行数,例如 416 和 348 行。

  

  我将 server 项目扫描了一遍,有 682 个文件包含了 429 段重复代码,总行数 8172 ,重复率占 10.89%。

  

  有些重复代码可以不用关注,例如数据库字段的声明。

  有些重复代码可以做针对性的优化,降低复制黏贴的频率。

  但工作量还是有点的,并且在重构后,还需要对原功能做验证。

与[转帖]从零开始搞基建(5)——代码质量相似的内容:

[转帖]从零开始搞基建(5)——代码质量

https://www.cnblogs.com/strick/p/17336589.html 一、AppWorks AppWorks 是一款基于 VS Code 插件的前端研发工具集。 1)AppWorks Doctor 我试用了其中的代码质量检测插件,这款插件会依赖 package.json 文件

[转帖]从零开始学nginx

1. nginx简介 nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。 nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。 第

[转帖]linux将大目录等分切割成多个小目录

https://www.jianshu.com/p/6f9e6743a1dc 需求:有一个目录存放了数十万个文件,现在需要将这个目录上传,如果整个目录上传,中间因为某些故障断开连接了,可能又要从头开始 这时就需要将目录切割成多个小目录,分批次上传,一个简单的 shell 脚本即可实现 思路很简单:遍

[转帖]linux将大目录等分切割成多个小目录

https://www.jianshu.com/p/6f9e6743a1dc 需求:有一个目录存放了数十万个文件,现在需要将这个目录上传,如果整个目录上传,中间因为某些故障断开连接了,可能又要从头开始 这时就需要将目录切割成多个小目录,分批次上传,一个简单的 shell 脚本即可实现 思路很简单:遍

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地