码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 从零开始搞基建(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%。

      

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

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

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

     

  • 相关阅读:
    【C#】【winform】Microsoft Visual Studio Installer Project 打包应用程序全部过程
    位图的详细介绍及模拟实现
    推荐系统实践读书笔记-05利用上下文信息
    Python3-excel文档操作(四):利用openpyxl库处理excel表格:将数据进行可视化展示在Excel中
    强转对象方法
    02-微服务的拆分规则和基于RestTemplate的远程调用
    一个关于React与Node.js前后端分离项目部署问题
    半导体新能源智能装备整机软件系统方案设计
    VUE:侧边弹出栏组件,组件中有树状图,搜索框可筛选树状图节点,可收缩
    视频需求超平常数 10 倍,却节省 60% 的 IT 成本投入是种什么样体验?
  • 原文地址:https://www.cnblogs.com/strick/p/17336589.html
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号