成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

javascript檢驗工具的比較

開發 前端
當寫js代碼的時候,一個校驗工具可以幫助我避免愚蠢的錯誤。盡管我有許多年的經驗,但是我仍然有變量命名不正確、產生語法錯誤以及忘記正確處理錯 誤。在我浪費時間,尤其是客戶時間之前,一個好的校驗工具或校驗器可以告訴我這些問題。好的校驗工具可以確保一個項目遵循代碼規范。

當寫js代碼的時候,一個校驗工具可以幫助我避免愚蠢的錯誤。盡管我有許多年的經驗,但是我仍然有變量命名不正確、產生語法錯誤以及忘記正確處理錯 誤。在我浪費時間,尤其是客戶時間之前,一個好的校驗工具或校驗器可以告訴我這些問題。好的校驗工具可以確保一個項目遵循代碼規范。

[[138090]]

存在四個可以使用的js校驗器,但是怎么選擇使用哪一個呢?接下來讓我們看看這四種流行方案的特點、優點和不足:JSLintJSHintJSCSESLint

Overview

四種工具用相同的基本方式工作。他們都有一套用戶分析、報告js文件錯誤的規則。他們都可以通過npm安裝。他們都可以通過命令行使用、作為Grunt插件使用、也可以集成到編輯器中。他們四種均支持使用注釋進行配置。

但是相似點結束了。每個工具都有各自的優點和缺點–優點是通過比較得到的。

JSLint

JSLint是其中最老的工具。在2002年 Douglas Crockford開發了該工具,根據其經驗,強制使用js語言中精粹的部分。如果你同意這些精粹,JSLint能成為一個好的工具。

JSLint的缺點是不能配置和拓展。你根本不能禁掉需要特性,并且很多缺少文檔。官方文檔非常不友好,例如缺少如何將其集成到編輯的信息。

優點

  • 參數配置完成,可以直接使用

缺點

  • JSLint不存在配置文件,如果想改變參數設置,那就存在問題
  • 有限的配置選項,許多規則不能禁掉
  • 不能增加個性化規則
  • 沒有文檔記錄規則
  • 很難弄清楚哪個規則引起的錯誤

JSHint

作為一個可配置的JSLint版本,JSHint被開發出來。你可以配置每個規則,將其放到一個配置文件中,這樣在大項目中可以容易使用。JSHint對每個規則有好的文檔,所以可以準確知道每個規則的作用。將其集成到編輯器也是簡單的。

JSHint的一個小缺點是里面的松散默認配置。也即是你在使其可用之前必須將其啟動。和ESLint相比,確定哪個規則用戶開啟或關閉錯誤信息,JSHint是更加困難。

優點

  • 大多是參數可以配置
  • 支持配置文件,在大項目中容易使用
  • 已經支持需要類庫,像jQuery、QUnit、NodeJS、Mocha等
  • 支持基本的ES6

缺點

  • 難于知道哪個規則產生錯誤
  • 存在兩類選項:強制選項和松散選項。使得配置有些混亂
  • 不支持自定義規則

JSCS

JSCS不同于其他,因為如果不給它一個配置文件或告訴它一個配置項,JSCS
不會做任何事情。可以存他們的網站現在配置項,所以這不是個大問題,并且有許多配置項,例如jQuery代碼風格配置項、Google配置項。

它有超過90個不同的規則,通過插件可以創建自定義規則。當和其他工具集成需要特定格式時,JSCS也支持自定義報告使得變得非常容易。

JSCS是一個代碼風格檢查器。這意味著它僅僅匹配代碼格式的問題,不匹配潛在的bugs、errors。因此,跟其他工具相比缺少靈活性,但是如果你僅僅強制檢查代碼風格,JSCS也是一個好的工具。

優點

  • 支持自定義報告,更容易與其他工具集成
  • 如果你遵循一種可用的代碼風格,配置項和準備好的配置文件使其容易啟動
  • 在報告中存在標記包含規則名字,所以很容易指出哪個規則造成了錯誤
  • 通過自定義插件進行拓展

缺點

  • 僅僅檢查代碼風格的問題。JSCS不檢查潛在存在的bugs,例如不適用的變量、偶然的全局變量等等
  • 四個工具中最慢,但是在使用中不是一個問題

ESLint

ESLint是***出來的工具。它被設計的容易拓展、擁有大量的自定義規則、容易的通過插件來安裝。它給出準確的輸出,而且包括規則名,這樣可以知道哪個規則造成了錯誤。

ESLint文檔多少有些混亂。規則容易查找,以及被分為邏輯組,但是配置指南在有些地方容易弄混。然而它可以在一個地方提供鏈接去編輯集成、插件和樣例。

優點

  • 靈活:任何規則都可以開啟閉合,以及有些規則有些額外配置
  • 很容易拓展和有需要可用插件
  • 容易理解產出
  • 包含了在其他檢查器中不可用的規則,使得ESLint在錯誤檢查上更有用

  • 支持ES6,唯一支持JSX的工具
  • 支持自定義報告

缺點

  • 需要一些配置
  • 速度慢,但不是主要問題

我的推薦

我的選擇是ESLint。JSHint是嚴格和不可配置的,而JSHint缺少拓展機制。JSCS如果僅僅用于代碼風格檢驗是一個好的選擇,但是ESLint不僅可以進行代碼風格的檢驗,而且可以檢查代碼中的bug和其他問題。

如果使用ES6,ESLint也是明顯的選擇。在上面提到的工具中,ESLint對ES6支持的最廣泛。

如果你像嘗試ESLint,我已經創造了5步快速開始指南。你可以 download the ESLint 5-step quickstart guide form my website

JSHint是第二選擇。如果不需要ESLint先進的特點,JSHint一旦配置就可以捕獲需要好的問題。帶有許多規則的JSCS,如果出了代碼風格外不進行其他檢查,將是一個好的選擇。

我非常猶豫去推薦JSLint。其他工具做同樣地事情,但是不強制用戶遵守這些規則。唯一的例外是你碰巧統一那些強制規則,那是值得深入研究的情況。

一個檢驗工具是捕獲問題的很好一步,但是僅僅能看到它規則的錯誤。為了更進一步的bug自動捕獲,我推薦使用單元測試。code view也有助于達到該目的。

你和你的團隊是如何保障代碼質量的呢?

 

英文原文:http://www.sitepoint.com/comparison-javascript-linting-tools/

責任編輯:王雪燕 來源: 博客園
相關推薦

2017-03-07 09:05:05

JavaScriptJavaPHP

2025-05-07 01:20:00

2020-05-19 07:59:39

JavaScript語言開發

2011-04-08 15:19:04

開發工具開發

2020-06-12 08:28:29

JavaScript開發技術

2011-04-08 15:58:02

開發工具開發

2021-07-14 10:31:15

JavaScript開發 技巧

2020-03-09 14:40:52

JavaScript工具函數前端

2009-08-18 10:24:03

Java開發工具

2022-05-03 10:55:24

DevOpsChefPuppet

2022-05-06 16:15:29

SisenseTableauBI 工具

2020-09-17 12:30:51

Linux比較工具命令

2022-05-02 18:21:46

JenkinsKubernetesDevOps

2010-06-10 13:41:43

RoseUML建模工具

2020-10-30 08:53:34

機器學習任務編排

2022-05-05 21:40:53

DatadogSplunkDevOps

2017-08-17 14:57:57

大數據Python數據圖表工具

2010-06-08 14:32:33

UML建模工具

2020-09-21 09:50:07

Linux工具命令

2020-04-11 22:07:29

存儲分析工具人工智能存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 奇色影视 | 精品一区二区免费视频 | 福利久久 | 日本一本在线 | 亚洲精品一区在线观看 | 欧美综合在线视频 | 国产高清久久久 | 国产一区二区视频免费在线观看 | 操操操操操| 人操人人 | 国产精品视频播放 | 亚洲深夜福利 | 涩涩视频在线看 | 欧美a级成人淫片免费看 | 亚洲欧美一区二区三区情侣bbw | 超碰在线免费 | 色婷婷av久久久久久久 | 91成人在线视频 | 精品成人佐山爱一区二区 | 国产精品久久国产愉拍 | 九色91视频 | 国产视频一区二区 | 在线日韩精品视频 | 国产91成人 | 成人av免费在线观看 | 精品视频免费在线 | 91九色麻豆 | 亚洲在线观看视频 | 99色在线视频 | 国产精品一区在线观看你懂的 | 国内精品久久久久久久影视简单 | 国产精品久久久爽爽爽麻豆色哟哟 | 久久国产精品视频观看 | 国产色婷婷久久99精品91 | 亚洲精品久久国产高清情趣图文 | 一区二区在线不卡 | 一级毛片视频 | 久久久女女女女999久久 | 成人国产精品免费观看 | 91免费在线播放 | 黄色片在线免费看 |