摘要:目前來(lái)說(shuō)基本上有四種工具可以完成,。發(fā)展歷程關(guān)于保持代碼一致性風(fēng)格,我們可以追溯到。是啥是針對(duì)語(yǔ)言源碼的檢測(cè)工具,它的功能就是看看源碼有沒有編寫錯(cuò)誤,有沒有風(fēng)格問(wèn)題。
1. 理解問(wèn)題
首先這個(gè)問(wèn)題展開來(lái)講就是"如何在Node.js模塊編寫中保持代碼一致性風(fēng)格"。
目前來(lái)說(shuō)基本上有四種工具可以完成JSLint,JSHint,JSCS,ESLint。
下面將從歷史的角度來(lái)看看他們四個(gè)有什么關(guān)系,以及選用建議。
2. 發(fā)展歷程關(guān)于保持代碼一致性風(fēng)格,我們可以追溯到Lint。
Lint是啥?Lint是針對(duì)C語(yǔ)言源碼的檢測(cè)工具,它的功能就是看看源碼有沒有編寫錯(cuò)誤,有沒有風(fēng)格問(wèn)題。
啥是編寫錯(cuò)誤呢?
編寫錯(cuò)誤就意味著上考場(chǎng)沒帶準(zhǔn)考證,別說(shuō)考的好不好,根本沒機(jī)會(huì)考。
編寫錯(cuò)誤意味著你的代碼根本通不過(guò)編譯。
啥是風(fēng)格問(wèn)題呢?
風(fēng)格問(wèn)題可以比喻為上考場(chǎng)穿著三角褲衩,雖然自己考的挺嗨,但是影響別人發(fā)揮(光看你的內(nèi)褲啥顏色了)。
好了,既然C語(yǔ)言有這樣的工具,那么我們JS語(yǔ)言有沒有這樣的工具呢?
答案是肯定的,按照時(shí)間順序,JS語(yǔ)言界依次出現(xiàn)四位大咖:JSLint,JSHint,JSCS,ESLint。
JSLint 作為開山鼻祖,它不僅可以檢測(cè)代碼編寫錯(cuò)誤,還可以檢測(cè)代碼風(fēng)格問(wèn)題。
但是它的判定規(guī)則完全按照J(rèn)SLint的作者經(jīng)驗(yàn)來(lái)制定,不允許改變,大有信我者昌,逆我者亡的氣勢(shì)。
這樣做,在檢查代碼編寫錯(cuò)誤時(shí)是沒問(wèn)題的,但是檢查代碼風(fēng)格時(shí)候就有點(diǎn)尷尬,
比如有的公司就喜歡讓員工穿褲衩上班,因?yàn)檫@樣程序員可以快樂(lè)編程,但是用了你這款工具,程序員只能穿西服編碼,大大降低寶寶們的編程效率,可惡可惡。
于是,JSHint就出現(xiàn)啦。
JSHint是JSLint的繼承者,它繼承JSLint擁有的規(guī)則,但是它允許通過(guò)配置文件來(lái)配置這些規(guī)則。
但是吧,還不夠徹底,雖然他允許我配置規(guī)則,但是不允許我自定義規(guī)則。
就比如,原先在JSLint中,有這樣一條規(guī)則:"禁止員工穿褲衩上班",
現(xiàn)在JSHint中將這條規(guī)則轉(zhuǎn)化為"[禁止]員工穿褲衩上班",同時(shí)允許你在配置文件配置方框號(hào)中的內(nèi)容,而且只能配置為[允許]和[禁止]
但是假如我想制定一條規(guī)則是"[禁止]員工穿拖鞋上班",JSHint就不支持啦,所以還是有點(diǎn)不盡興。
不過(guò),什么事情都難不倒的程序員,JSCS如約而至。
JSCS本身超過(guò)90條的規(guī)則,但是任然允許制定新的規(guī)則,比如"[禁止]員工穿拖鞋上班",嗯,突然覺得好滿足。
但...JSCS僅僅支持代碼風(fēng)格檢查,不能檢查編寫錯(cuò)誤問(wèn)題,為啥呢,我也不知道,也許作者覺得編寫檢查可以直接交給編譯器?
天將降大任于斯人也,吸收前人的經(jīng)驗(yàn),彌補(bǔ)前人的不足,ESLint在眾人期待中出現(xiàn)了。
ESLint支持檢查編寫錯(cuò)誤問(wèn)題,支持檢查代碼風(fēng)格問(wèn)題,支持制定自定義規(guī)則,支持通過(guò)配置文件修改預(yù)定義和自定義規(guī)則。
完美,終于可以愉快的生活啦,哈哈哈哈...
3. 選用建議ESLint功能豐富,除了上面說(shuō)的這些基礎(chǔ)功能,還有很多很多,而且前端開發(fā)鏈條上的其他插件也愿意和ESLint配合。總之,ESLint出現(xiàn)坑,有人會(huì)填,其他的出現(xiàn)坑,只能自己跳進(jìn)去填,所以,遵從你內(nèi)心的選擇吧。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/103835.html
摘要:譯者按從標(biāo)準(zhǔn),語(yǔ)法以及模塊角度來(lái)看,的發(fā)展讓人目不暇接,那么面試題也得與時(shí)俱進(jìn)。因此,手動(dòng)檢查所有依賴是不現(xiàn)實(shí)的。為,加之后返回。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件百姓網(wǎng)等眾多知名用戶的認(rèn)可。 譯者按: 從ECMAScript標(biāo)準(zhǔn),Node.js語(yǔ)法以及NPM模塊角度來(lái)看,Node.js的發(fā)展讓人目不暇接,那么面試題也得與時(shí)俱進(jìn)。 原文: Node.js In...
摘要:但是,有條原則應(yīng)該是對(duì)的少數(shù)服從多數(shù)用工具統(tǒng)一風(fēng)格。我曾經(jīng)以為,程序員有自己獨(dú)特的代碼風(fēng)格挺好的。業(yè)界有一些流行的代碼風(fēng)格,比如和。你也可以使用來(lái)統(tǒng)一風(fēng)格。比如,的配置,只能統(tǒng)一示例的代碼風(fēng)格,而不能統(tǒng)一后面兩者。相比于代碼風(fēng)格,我更推薦。 譯者按: 關(guān)于代碼風(fēng)格,不同的人有不同的偏好,其實(shí)并沒有什么絕對(duì)的對(duì)錯(cuò)。但是,有 2 條原則應(yīng)該是對(duì)的: 少數(shù)服從多數(shù);用工具統(tǒng)一風(fēng)格。 原文...
摘要:自動(dòng)化接入和升級(jí)方案通過(guò)命令行工具提供一鍵接入升級(jí)能力,同時(shí)集成到團(tuán)隊(duì)腳手架中,大大降低了工程接入和維護(hù)的成本。原始代碼經(jīng)過(guò)解析器的解析,在管道中逐一經(jīng)過(guò)所有規(guī)則的檢查,最終檢測(cè)出所有不符合規(guī)范的代碼,并輸出為報(bào)告。 引言 代碼規(guī)范是軟件開發(fā)領(lǐng)域經(jīng)久不衰的話題,幾乎所有工程師在開發(fā)過(guò)程中都會(huì)遇到,并或多或少會(huì)思考過(guò)這一問(wèn)題。隨著前端應(yīng)用的大型化和復(fù)雜化,越來(lái)越多的前端工程師和團(tuán)隊(duì)開始重...
摘要:代碼質(zhì)量這個(gè)術(shù)語(yǔ)對(duì)于程序員來(lái)說(shuō)并不陌生。在本文中,我們將探討我們?nèi)绾文軌蚶脦椭覀儯3治覀兊拇a質(zhì)量更高。怎樣使用在這篇文章中,我們重點(diǎn)介紹幾個(gè)插件,可以幫助我們提高代碼質(zhì)量。使用相當(dāng)簡(jiǎn)單的。這兩個(gè)插件可用于代碼分析。 代碼質(zhì)量這個(gè)術(shù)語(yǔ)對(duì)于程序員來(lái)說(shuō)并不陌生。畢竟,每個(gè)開發(fā)人員都知道,代碼只是能工作是不夠的。它還應(yīng)該具備其他要素:它應(yīng)該是可讀的,良好的格式和一致性。它也應(yīng)該符合一些...
閱讀 2845·2021-10-21 09:38
閱讀 2751·2021-10-11 10:59
閱讀 3022·2021-09-27 13:36
閱讀 1649·2021-08-23 09:43
閱讀 790·2019-08-29 14:14
閱讀 3034·2019-08-29 12:13
閱讀 3203·2019-08-29 12:13
閱讀 310·2019-08-26 12:24