隨著我們團隊的成長,我們需要更多功能性和美學規則來保持我們的程式碼庫不易出錯和更加一致。幸運的是,我們的後端和前端都使用 JavaScript(具有相同版本的 TypeScript),因此這些變更對我們整個團隊的日常工作產生了很大影響。
我們通常會在所謂的「技術日」(每兩週的星期一)進行此類改進,此時我們可以完成自己選擇的任務。我們嘗試增量地進行這些操作,以避免出現難以維護和審查的持久分支。
最近,我們選擇新增 Unicorn 插件,其中包含數十條 ESlint 規則。一開始可能會讓人感到不知所措,因為它會引發數百個錯誤。幸運的是,我們發現了 eslint-nibble:一個命令列工具,可以幫助透過圖形介面逐一添加規則。
如何使用
第一步是安裝我們想要應用的新插件。然後,我們現在可以在 .eslintrc.js 中啟用所有規則,而不是逐一啟用規則。最後,我們可以像這樣簡單地使用 eslint-nibble,而不是使用 eslint 一次檢查所有內容:
npx eslint-nibble --fixable-only --no-warnings --cache "./src/**/*.{ts,js,vue}"
- 它首先使用 --fixable-only 規則加速我們的流程
- 因為我們不會讓 CI 因警告而失敗,所以我們使用 --no-warnings 來清除問題
- --cache 選項與 ESlint 類似,將使重複過程更快
然後,我們會看到一張漂亮的圖形,其中顯示了每條失敗的規則以及每個規則的錯誤數:
透過介面選擇規則時,建議我們自動修復它(如果可能)。然後,我們通常在提交之前手動檢查它,以防出現奇怪的情況。
另一個關鍵點是它一次只能修復一個規則,即使一行程式碼包含多個規則錯誤。它使提交成為原子的,因此很容易調試和審查。
如果您在提交之前進行任何其他更改- 例如我們有時需要在更改的行上應用Prettier - 請確保您不要保存並檢查文件,因為它會修復所有其他錯誤與文件中的其他規則相關。正確的方法是僅透過聚焦該行並執行 Quick fix 來手動修復所需的問題,然後使用命令 Fix 而無需格式化 VS Code。
好處
主要優點是輕鬆查看接下來要新增哪些規則最簡單。現在,我們每天都可以選擇修復一條有大量錯誤的規則,或是修復大量只出現幾次的規則。之前,我們都是盲目地一一啟用規則,而沒有事先了解它們的影響。
這也是一個透過閱讀其文件來理解規則本身以及為什麼這樣做更好(或不)的機會,因此我們學習新東西。
我們有時會決定自訂或完全停用規則,因為它不符合我們的需求或程式碼風格。例如,我們決定在某些情況下停用強制使用 Set 的規則:由於 Vue 2 不支援 Map 和 Set 上的反應性,我們認為這可能會引入錯誤或鼓勵開發人員以意想不到的方式使用它。
最後,審閱者可以更輕鬆地一次閱讀有關一條規則的提交。這個工具透過幫助我們不時加入一些 ESlint 規則,讓漸進增強變得輕而易舉。
以上是使用 ESlint Nibble 以乾淨的方式逐步修復大量 ESlint 錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中