亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

使用JSLint提高JS代碼質量方法分享

2019-11-20 21:27:27
字體:
來源:轉載
供稿:網友

隨著富 Web 前端應用的出現,開發人員不得不重新審視并重視 JavaScript 語言的能力和使用,拋棄過去那種只靠“復制 / 粘貼”常用腳本完成簡單前端任務的模式。JavaScript 語言本身是一種弱類型腳本語言,具有相對于 C++ 或 Java 語言更為松散的限制,一切以函數為中心的函數式編程思想也為開發人員提供了更加靈活的語法實現。然而,這種靈活性在帶來高效的同時,也成為初學或者經驗不足的 JavaScript 開發人員的噩夢。形式各異的代碼風格、隱含錯誤的代碼行為,嚴重影響了整體代碼的可讀性和穩定性,成為 Web 項目中最為常見問題之一。

因而,我們需要一個有效的 JavaScript 代碼質量工具,以便能及時發現并修正 JavaScript 代碼中所隱含的問題,保證代碼交付質量。JSLint 作為一個靈活有效的 JavaScript 代碼質量檢測工具,允許使用者指定滿足其特定應用開發需求的編碼風格約定,使得整個項目的風格統一,這種“規則”(options)驅動的工作方式使得 JSLint 能夠適用于不同的代碼檢測需求。本文將首先向讀者介紹 JSLint 的基本概念和作用,講解其基于規則的工作方式,而后通過一個示例闡明其基本的使用方法,最后介紹如何將 JSLint 整合到 Ant 和 Eclipse 的應用過程,以全方面展示如何將 JSLint 在日常開發任務中加以運用。

什么是 JSLint
JavaScript 作為一門年輕、語法靈活多變且對格式要求相對松散的語言,代碼格式的混亂和某些語言特性的不正確使用,往往使得最終交付的產品中包含許多因編碼風格約定造成的未預見的行為或錯誤,這種習慣性的問題如果不及時指出并修改,往往會在項目的迭代過程中不斷的重現,嚴重影響 Web 產品的穩定性與安全性。JSLint 正是 Douglas Crockford 同學為解決此類問題創建的工具,JSLint 除了能指出這些不合理的約定,還能標出結構方面的問題。雖然 JSLint 不能保證代碼邏輯一定正確,但卻有助于發現錯誤并教會開發人員一些好的編碼實踐。值得一提的是 JSLint 工具本身也是一段 JavaScript 代碼,它是檢驗 JavaScript 代碼質量的 JavaScript 腳本。JSLint 對 JavaScript 腳本的質量檢測主要包括以下幾個方面:

•檢測語法錯誤:例如大括號“{}”的配對錯誤。
•變量定義規范:例如未定義變量的檢測。
•代碼格式規范:例如句末分號的缺失。
•蹩腳語言特性的使用檢測:如 eval 和 with 的使用限制。
JSLint 的版本更新一直處于活躍狀態,截至本文撰寫之時,JSLint 最新版本的發布時間為 2010-10-10。很多主流代碼編輯器均對 JSLint 提供了良好的擴展支持,包括 Eclipse、VS2008 等等。

目前,與 JSLint 功能類似的 JavaScript 代碼檢測工具有很多,包括:YUI Test、Firebug、MS Script Debugger 、CompanionJS 等等,它們中大多數都是以瀏覽器插件的形式存在于客戶端瀏覽器進行 JavaScript 運行時的檢測和調試,JSLint 與這些工具的重要區別在于其更加注重靜態代碼格式的檢測,而這也正是當前火熱的敏捷開發中持續構建所需要和提倡的。

認識 JSLint 規則
JSLint 執行代碼質量檢測的原理核心在于用戶設定的規則集。JSLint 默認提供的規則集包含了 Web 開發人員多年積累下來的認為不好的開發風格,我們可以根據自己項目的需求選擇構建一套特定的規則。JSLint 將根據它進行對 JavaScript 腳本的掃描工作,并給出相應的問題描述信息。規則的形式體現為多組鍵值對:[param:option],以規則名做鍵,對規則調用與否做值。例如規則:“plusplus:true”是不允許 ++ 和 -- 運算符的出現,“undef:true”是不允許使用未定義的變量。

由于 JSLint 工具本質上是一個普通的 JS 腳本,其運行也自然依賴于一個 JS 運行引擎,其被引擎加載后會在內存中產生一個全局 JSLint 函數對象,該函數對象需要兩個輸入量:source 和 options,前者用來指定待檢測的腳本文件被解析后生成的字符串或字符串數組,后者則表示用戶自定義的規則選項。若 options 為空,JSLint 則使用其默認的規則對 source 進行掃描檢測。

整個檢測過程就是對腳本中所含 JSLINT (source, options) 函數的一次執行過程。當指定的 source 腳本在 options 條件下檢測通過,則 JSLint 返回 true,否則返回 false,而這時則可以通過 JSLINT.errors 對象獲得詳細的錯誤信息。圖 1 展示了 JSLint 的整個工作過程。

圖 1. JSLint 工作過程示意圖

如圖所示,規則集的配置方式有三種:

1.直接通過修改 JSLint.js 源碼來修改默認規則。
2.在 JSLint 函數運行時,同時設置 options 參數,動態改變其規則選項(first overwrite)。此方式適用于對批量 js 文件使用同樣的一組自定義規則。
3.通過在待檢測的 js 文件頭部添加注釋類型的規則,對單個 js 文件添加適用于該文件代碼的特殊規則(second overwrite)。此方式適用于對不同 js 文件設置特定的檢測規則,通常用于在該文件中引入一些全局變量。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成aaa人片免费看| 成人免费在线视频网站| 久久国产精品久久国产精品| 亚洲va欧美va国产综合久久| 精品国内产的精品视频在线观看| 性日韩欧美在线视频| 国产亚洲精品成人av久久ww| 成人写真视频福利网| 亚洲影影院av| 欧美电影免费观看高清| 亚洲一区二区中文| 亚洲欧美在线一区二区| 色偷偷91综合久久噜噜| 日韩一区二区三区国产| 亚洲视频专区在线| 九九热这里只有精品免费看| 91免费欧美精品| 国产精品久久久久久av| 91九色国产社区在线观看| 亚洲美腿欧美激情另类| 日韩av网站在线| 国产精品久久久久秋霞鲁丝| 亚洲国产精久久久久久| 538国产精品一区二区在线| 日本在线观看天堂男亚洲| 欧美日韩亚洲一区二区| 亚洲电影在线看| 5566成人精品视频免费| 国产欧美欧洲在线观看| 欧美老少做受xxxx高潮| 久久久久亚洲精品| 精品久久中文字幕久久av| 欧美激情久久久| 国模私拍视频一区| 草民午夜欧美限制a级福利片| 中文字幕av一区中文字幕天堂| 久久久久久久久久国产| 91免费电影网站| 亚洲精品国产精品国自产观看浪潮| 国产精品高潮呻吟久久av野狼| 欧洲成人在线视频| 欧美性生交xxxxx久久久| 欧美老女人bb| xvideos亚洲| 国产91精品久久久久| 色综合天天综合网国产成人网| 亚洲国产天堂久久国产91| 欧美激情免费视频| 欧美日韩亚洲91| 久青草国产97香蕉在线视频| 国产美女主播一区| 日韩在线播放av| 久久资源免费视频| 日韩电影第一页| 欧美一二三视频| 欧美—级a级欧美特级ar全黄| 亚洲色图35p| 91热福利电影| 亚洲一区999| 欧美精品免费在线| 成人免费高清完整版在线观看| 日韩精品电影网| 欧美成人国产va精品日本一级| 久久久99免费视频| 久久影院在线观看| 午夜欧美不卡精品aaaaa| 国产大片精品免费永久看nba| 久久福利网址导航| www国产亚洲精品久久网站| 久久精品国亚洲| 深夜福利一区二区| 不用播放器成人网| 97热在线精品视频在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 欧美黑人狂野猛交老妇| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲免费av电影| 欧美激情免费视频| www.日韩av.com| 亚洲美女av网站| 97视频在线播放| 国产精品小说在线| 国产精品第一视频| 免费91麻豆精品国产自产在线观看| 久久久精品2019中文字幕神马| 日韩美女av在线免费观看| 国产精品久久久久久久一区探花| 国产免费一区二区三区在线能观看| 亚洲精品电影久久久| 亚洲区中文字幕| 美女国内精品自产拍在线播放| 永久免费看mv网站入口亚洲| 日韩午夜在线视频| 日韩欧美在线视频| 国产综合香蕉五月婷在线| 久久91亚洲精品中文字幕奶水| 亚洲欧美成人一区二区在线电影| 日韩电影中文字幕av| 久久久欧美一区二区| 精品久久久久久国产| 欧洲精品久久久| 日本高清久久天堂| 国内精品中文字幕| 久久精品国产清自在天天线| 91嫩草在线视频| 日韩欧美亚洲国产一区| 欧美成人一区在线| 亚洲国产精品久久久久| 亚洲欧美在线播放| 国产精品扒开腿做爽爽爽的视频| 久久频这里精品99香蕉| 岛国av在线不卡| 18久久久久久| 中文字幕欧美日韩精品| 姬川优奈aav一区二区| 欧美大肥婆大肥bbbbb| 91高清视频在线免费观看| 久久不射热爱视频精品| 中文字幕亚洲天堂| 亚洲成人在线视频播放| 色综合久久中文字幕综合网小说| 91网在线免费观看| 亚洲一区二区三区在线视频| 日韩在线视频一区| 欧美一级淫片播放口| 日本一本a高清免费不卡| 欧美国产精品人人做人人爱| 国产精品美女主播在线观看纯欲| 永久免费毛片在线播放不卡| 欧美日韩国产二区| 97精品欧美一区二区三区| 国产亚洲免费的视频看| 久热精品视频在线观看| 91av中文字幕| 久久人人97超碰精品888| 色婷婷亚洲mv天堂mv在影片| 日韩电影中文字幕在线| 国产精品香蕉在线观看| 国产免费一区二区三区在线观看| 中文字幕亚洲精品| 国产一区二区三区直播精品电影| 亚洲精品资源在线| 欧美裸身视频免费观看| 成人精品网站在线观看| 91欧美视频网站| 久久久人成影片一区二区三区| 亚洲国产欧美一区| 中文字幕一区二区三区电影| 国语自产精品视频在免费| 国产精品久久久久久久久久久久久| 色噜噜国产精品视频一区二区| 7m精品福利视频导航| 日韩在线高清视频| 日韩国产精品视频| 欧美日韩综合视频| 欧美黑人性猛交| 久久高清视频免费| 韩国19禁主播vip福利视频| 亚洲美女性视频| 草民午夜欧美限制a级福利片| 国产精品入口福利| 欧美精品videossex88| 日韩av高清不卡| 亚洲欧美色图片|