首页 > 其他分享 >从零开始搞基建(5)——代码质量

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

时间:2023-05-15 09:22:06浏览次数:44  
标签:插件 重复 代码 AppWorks 命令 从零开始 jscpd 基建

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

  

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

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

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

 

标签:插件,重复,代码,AppWorks,命令,从零开始,jscpd,基建
From: https://www.cnblogs.com/strick/p/17336589.html

相关文章

  • 常用设计模式之.Net示例代码合集
    每一次初学者粉丝朋友,在后台向我咨询编程问题,我除了给他们指导学习路线,我都会建议他们学完基础知识后,一定要要注重编程规范,学习设计模式,修炼内功。虽然说很多程序员,他们日常主要工作是CRUD,但是学习设计模式也是有助于学习公司的框架,另外设计模式是为了可重用代码、让代码更容易被......
  • WebApplicationInitializer究 Spring 3.1之无web.xml式 基于代码配置的servlet3.0应用
    大家应该都已经知道Spring3.1对无web.xml式基于代码配置的servlet3.0应用。通过spring的api或是网络上高手们的博文,也一定很快就学会并且加到自己的应用中去了。PS:如果还没,也可以小小参考一下鄙人的上一篇文章<<探Spring3.1之无web.xml式基于代码配置的servlet3.0应用>>。    ......
  • uni-app图片剪切上传;uview2用使用uview1中的图片剪切上传组件,把原有代码抽取出来
    1.其实是个组件页面,移过来就行了。2.原有组件中,可视区域和截图结果区域的长宽是一样的,所以需要调整一下;3.因为剪切图片,是在一个单独页面实现的.所以pages.json中需要加上剪切的页面路径;pages.json{ "path":"components/u-avatar-cropper/u-avatar-cropp......
  • 几个主要搜索引擎(Google和百度、雅虎)的站内搜索代码
    几个主要搜索引擎(Google和百度、雅虎)的站内搜索代码,使用时只需要将代码里的"www.williamlong.info"替换成你的网址即可。<!--Google站内搜索开始--><formmethod=getaction="http://www.google.com/search"><inputtype=textname=q><inputtype=submitname=btnGvalue="......
  • labview 多路温度采集系统,工程实例代码,modbus通讯(Ni-modbus),一路串口主机,两路从机设
    labview多路温度采集系统,工程实例代码,modbus通讯(Ni-modbus),一路串口主机,两路从机设备(一路进行温度采集,一路进行开关控制),软件架构精简易拓展,软件涉及到fgv功能性全局变量队列,引用等高级labview知识点,适合学习提升labview开发能力。该程序为2018版,程序为个人开发ID:12996200......
  • 大型汽车零部件生产追溯系统源代码 0, 纯源代码。 1, 替代传
    大型汽车零部件生产追溯系统源代码0,纯源代码。1,替代传统plc搭载的触摸屏。2,工控屏幕一体机直接和plc通信。3,功能强大,多级页签。4,纯以太网通信。5,主监控页面。6,开机启动友好等待页面。7,开机启动登陆页面。8,关机等待页面。9,历史查询页。10,线程等待页......
  • 【转载】代码命名规范
    管理类命名传播类命名回调类命名监控类命名内存管理类命名过滤检测类命名结构类命名常见设计模式命名解析类命名网络类命名CRUD命名其他End日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。那它们有什么规律呢?Java项......
  • C#全自动多线程上位机源码 0, 纯源代码。 1, 替代传统plc搭载的触摸屏
    C#全自动多线程上位机源码0,纯源代码。1,替代传统plc搭载的触摸屏。2,工控屏幕一体机直接和plc通信。3,功能强大,多级页签。4,可以自由设定串口或以太网通信。5,主页。6,报警页。7,手动调试页。8,参数设定页。9,历史查询页。10,系统设定页。11,赠送所有控件。......
  • 多线程qt5 c++ 工业自动化上位机源代码 Qt5之工业应用! 一套完
    多线程qt5c++工业自动化上位机源代码Qt5之工业应用!一套完整工程,链接PLC,工业无人值守自动扫码使用,无线扫码枪SR1000的使用,使用qt5.14,用qtcreator加载工程后,编译,运行,可调试可扩展,目的是学习qt开发方式。Sqlserver存储方式,查询自由。excel方便导出,c++效率无需赘言。不懂的随时和卖......
  • ERP MES 两套系统源代码 WPF AGV C# WPF开发。 A,WPF MES 上位机产线
    ERPMES两套系统源代码WPFAGVC#WPF开发。A,WPFMES上位机产线执行系统。1,完整纯源代码;2,AGV自动调度;3,SQLSERVER数据库。带附加文件。4,WPF各种技术应用。5,数据库技术应用。6,DTU数据传输。7,TCPIPSOCKET技术应用。8,EXCEL数据查询与导出。9,各种库位的管理。10,重要是多线......