從零開始搞基建(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%。

  

  有些重複代碼可以不用關注,例如數據庫字段的聲明。

  有些重複代碼可以做針對性的優化,降低複製黏貼的頻率。

  但工作量還是有點的,並且在重構後,還需要對原功能做驗證。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章