从零开始搞基建(5)——代码质量

简介: 从零开始搞基建(5)——代码质量

一、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%。

  

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

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

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

相关文章
|
1月前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
53 4
|
设计模式 程序员 开发者
程序员在开发中必经之路:重构代码
众所周知,程序员在开发过程中接手前人代码,或者接手公司外购项目的代码等情况的时候,都有想要重构代码的冲动,与其这样说,不如说程序员只要是接手不是自己亲自写的代码都想重构!俗话说得好:一百个程序员脑中有一百个编程思维,不同程序员就算是开发相同功能的程序,一定会有不同的实现方式,而且代码格式和实现方式也肯定是不一样的,这样就给程序的代码重构留下了伏笔。
164 1
|
设计模式 安全 关系型数据库
2w行代码、200个实战项目,助你修炼5大编程基本功
2w行代码、200个实战项目,助你修炼5大编程基本功
169 0
|
敏捷开发 Devops 测试技术
深聊测开领域之:一文搞懂什么是敏捷测试,如何做敏捷测试,建议先收藏再学习。
深聊测开领域之:一文搞懂什么是敏捷测试,如何做敏捷测试,建议先收藏再学习。
816 0
深聊测开领域之:一文搞懂什么是敏捷测试,如何做敏捷测试,建议先收藏再学习。
|
前端开发 jenkins 测试技术
自动化测试技术笔记(一):前期调研怎么做
虽然说自动化测试比较偏技术工作,但在开展前,明确你的工作目标和KPI也是不可忽视的一点。并不是说技术优秀就可以拿到好的绩效,企业生存第一法则是先活下来做产出,再考虑锦上添花和技术优化的事。
|
测试技术 数据库
阿里研究员:测试稳定性三板斧,我怎么用?
如何治理测试稳定性问题?很多人会说:环境、流程管控、监控、工具化、加机器、专人负责、等等。这些都是对的。不过这些都是解决方案层面的,而不是方法论和理论体系层面的。今天,阿里研究员郑子颖来说说测试稳定性的三板斧。据说,阿里同学们都非常认同这三板斧,看完文章感觉很多做的事情有了理论基础。
2738 0
|
设计模式 Serverless 领域建模
实战经验 | 怎样才能提升代码质量?
提升代码质量的三个有效方法:领域建模、设计原则、设计模式。
实战经验 | 怎样才能提升代码质量?
|
安全 测试技术
从零开始搞基建(3)——设计方案
  最近看了一篇文章,文章中提到在开发流程中包含一个设计方案的阶段,位于需求评审之后,用于描述自己对于该需求的实现思路、模块划分等相关考虑的点,可供今后自己或他人查阅。   目的就是在编码前理清思路,整体架构,查缺补漏,作为他人或自己的技术参考文档。   自己在项目开发的过程中,也曽有过这样类似的想法,但没有作者那样写的系统,也没有在团队中落地。   基于文章中的设计方案,自己做了点修改。设计方案包括4个部分:需求、调研、实现和复盘。
从零开始搞基建(3)——设计方案
|
前端开发 jenkins 持续交付
研发新人如何快速熟悉新项目和业务(上)
研发新人如何快速熟悉新项目和业务
607 0
研发新人如何快速熟悉新项目和业务(上)
|
存储 移动开发 前端开发
从零开始搞基建(1)——前端代码规范
对所有引用都使用 const,不要使用 var。原因:这样做可以确保你无法重新分配引用,以避免出现错误和难以理解的代码。 如果引用是可变动的,使用 let 代替 var。原因:let 是块级作用域的,而不像 var 属于函数级作用域。 坚持使用全等 === 摒弃相等 ==,原因:相等会进行隐式的类型转换。 使用浏览器全局变量时加上 window 前缀,document 和 navigator 除外。