精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Eslint團隊終于妥協了...

開發 前端
ESLint從v8.53.0起,將棄用「代碼風格相關規則」。這么做主要是因為繼續維護「代碼風格相關規則」對核心團隊來說,投入產出比太低。試想一下,核心團隊花費大力氣解決問題(規則沖突、一致性問題),推出新的「代碼風格規則」,開發者會感謝Eslint核心團隊的付出么?

大家好,我卡頌。

配置過代碼格式化的同學一定糾結過如下問題:Eslint和Prettier都能格式化代碼風格,是單用Eslint,還是兩個一起用呢?

從今以后,你再也不用糾結這個問題,因為Eslint團隊已經妥協了 —— 根據官方博客[1]所說,從v8.53.0起,Eslint中「代碼風格相關規則」將被棄用。

有意思的是,造成上述局面的原因并不是技術問題導致的,更多是市場行為。

本文讓我們聊聊事情的來龍去脈。

Eslint的崛起

在2013年之前,前端工程師通常使用JSLint或JSHint作為「代碼檢查器」,用以檢測:

代碼質量問題

比如:應該避免使用 eval(),應該使用===而不是==...

代碼中的錯誤

比如:未定義的變量、類型轉換的問題...

其中,JSLint基于內部實現的JS解析器,對生成的token流(詞法單元流)進行分析,檢查代碼語法。

JSHint是從JSLint派生出來的,他們工作原理類似,但JSHint更靈活 —— 他提供了.jshintrc配置文件方便開發者自定義規則。

上述兩個工具都能檢查代碼,但由于實現原理的限制,沒法進行復雜的規則檢查。同時,他們對「代碼風格」的檢查也較少。

在這一時期,「代碼風格檢查」(比如:縮進、行長度、引號類型、是否在語句末尾使用分號...)主要交給JSCS。

2013年,Eslint問世。他將代碼解析為AST并分析:

  • 相比于JSHint或JSLint的實現,AST保留了更多代碼上下文信息。

所以,Eslint不僅可以進行更復雜的規則校驗,還能讓開發者以插件的形式自己編寫規則。

  • 相比于JSCS,Eslint支持「代碼自動修復」

所以,Eslint不僅能對代碼風格提出建議,還能自動修復「不符合規范的風格」。

更先進的功能,再加上作者身份加持(作者是紅寶書作者),使得Eslint逐漸淘汰了上述競品。

Eslint與Prettier之爭

雖然Eslint提供了大量規則,但并不是所有開發者都想配置一套自己的規則集。

慢慢的,一些「Eslint規則集的最佳實踐」被提出(比如Airbnb規則[2]、standard規則[3])。

開發者通常會在這些規則集的基礎上再做些個性化修改,組成項目的lint規則集。

這些規則集中,通常包含三類規則:

  • 代碼質量檢查
  • 代碼錯誤檢查
  • 代碼風格檢查

其中「代碼風格檢查」通常是非常主觀的。如果團隊成員的「代碼風格檢查規則」配置不一樣,很影響提交時git diff的可讀性。

為了強制規范「代碼風格檢查」,Prettier出現了。這是一款「固執己見」的代碼風格格式化工具,他集成了一套代碼風格,并且可配置程度不高。

「可配置程度不高」是一把雙刃劍,一方面,他能強制規范團隊成員的代碼風格。

但另一方面,如果想對代碼風格做些個性化設置,Prettier很有可能不支持。

舉個例子(來自為什么我不使用 Prettier中的例子),Prettier中通過printWidth屬性配置「一行可以顯示的字符數」,超過就會折行。

有時候我們并不需要「超過某個字符數就折行」,因為在Git Diff時,折行會破壞Diff信息的可讀性:

然而遺憾的是,Prettier并沒有提供配置關閉這一行為。

基于上述原因,出現了兩種解決方案:

方案1  Eslint與Prettier配合使用

其中Eslint負責代碼質量、錯誤檢查,Prettier負責代碼風格檢查。優點是能夠滿足代碼質量、風格檢查。缺點是:

  • Eslint與Prettier規則可能沖突,配置成本高。
  • 代碼風格檢查的可配置性低(Prettier配置性低)。

案2 只使用Eslint

使用「代碼風格相關規則的集合」,比如@stylistic/eslint-plugin-js[4]管理代碼風格。再使用其他規則管理代碼質量。

這種方式優點明顯 —— 可配置性高,且配置簡單(只需要配置Eslint)。

顯然,方案2是優于方案1的。既然如此,Eslint團隊為什么要棄用所有「代碼風格相關規則」呢?

Eslint團隊的妥協

設想一下,每當出現新的語言特性,與該特性相關的規則包括:

  • 少量的代碼質量相關規則
  • 少量的代碼錯誤相關規則
  • 各種奇怪的代碼風格規則

顯然前兩者的優先級、重要性都高于第三者。如果說,在Eslint成長初期,為了收割JSCS的用戶,Eslint必須實現所有「JSCS支持的代碼風格規則」,此時實現各種代碼風格規則是必要的。

但今時今日,Eslint早已成為JS領域「代碼檢查器」的老大,不需要再為了市場份額努力滿足社區的一切需要。況且,有些時候,考慮「規則沖突」以及「一致性」,有些需求甚至無法滿足。

規則沖突

最理想的情況,所有核心規則都能很好地相互配合,這意味著沒有兩個規則應該標記同一個問題,也不會有任何兩個核心規則給出相互沖突的建議。

當核心規則少于30條時,這很容易。但對于越來越多的規則,這很難做到。

一致性問題

ESLint規則之間是無法互相訪問的。這意味著我們會遇到無法正確修復錯誤的問題,因為信息可能位于另一個規則中。

舉個例子,如果自動修復需要添加新的代碼行,就需要知道文件是如何縮進的,以便應用正確的修復。但是,規則indent控制ESLint的縮進,這意味著其他規則需要在不縮進的情況下應用修復,然后相信indent規則將在后續傳遞中修復縮進。

總結

ESLint從v8.53.0起,將棄用「代碼風格相關規則」。這么做主要是因為繼續維護「代碼風格相關規則」對核心團隊來說,投入產出比太低。

試想一下,核心團隊花費大力氣解決問題(規則沖突、一致性問題),推出新的「代碼風格規則」,開發者會感謝Eslint核心團隊的付出么?

不會的,這些「代碼風格規則」會被集成到規則集中,并被冠以「某種開發理念」兜售給開發者(比如Airbnb規范)。

實際收獲名利的是站在臺前的「宣傳開發理念的團隊」,而背后辛苦干活的Eslint核心團隊往往被忽略了,換你你樂意么?

參考資料

[1]官方博客:https://eslint.org/blog/2023/10/deprecating-formatting-rules/。

[2]Airbnb規則:https://airbnb.io/javascript/。

[3]standard規則:https://standardjs.com/。

[4]@stylistic/eslint-plugin-js:https://www.npmjs.com/package/@stylistic/eslint-plugin-js。

責任編輯:姜華 來源: 魔術師卡頌
相關推薦

2024-07-08 00:00:07

2025-02-18 13:11:17

2023-10-30 19:51:52

ESlint檢測工具代碼

2020-09-17 11:36:08

TikTok程序禁令

2025-08-25 00:00:00

ESLintGithublinting

2020-07-14 16:25:37

蘋果iPhone售后

2021-11-10 23:26:27

iPhone手機屏幕

2025-11-07 00:00:00

2022-02-20 22:16:44

ESLint工具JavaScript

2024-01-23 11:28:14

Eslint前端Oxlint

2020-02-23 16:33:02

GitHub印度子公司

2021-07-29 20:29:36

Linux c 代碼Java

2024-07-16 16:53:09

2025-07-17 14:20:23

2021-12-13 20:09:33

GoElasticsearJava

2021-06-13 12:03:46

SaaS軟件即服務

2021-07-26 05:00:16

算法DfsBfs

2021-10-09 00:02:04

DevOps敏捷開發

2022-03-27 20:32:28

Knative容器事件模型

2015-12-15 10:32:44

chromecss開發
點贊
收藏

51CTO技術棧公眾號

中文字幕亚洲在| 韩日成人av| 欧美色图天堂网| 天堂社区 天堂综合网 天堂资源最新版 | 在线观看免费av片| 91成人福利| 日韩欧美精品在线观看| 亚洲春色在线视频| 精品人妻一区二区三区浪潮在线| 在线精品福利| 亚洲性猛交xxxxwww| 日韩成人精品视频在线观看| 在线播放蜜桃麻豆| 成人午夜在线免费| 国产精品激情av在线播放| 国产女人18水真多毛片18精品| 风间由美中文字幕在线看视频国产欧美 | 美女视频一区二区三区| 欧美国产日韩一区二区三区| 成年人免费观看视频网站| 欧美黄页在线免费观看| 一区二区三区产品免费精品久久75| 久久av一区二区三区亚洲| 亚洲字幕av一区二区三区四区| 亚洲视频免费| 日韩视频在线观看免费| 特大黑人巨人吊xxxx| 91精品一久久香蕉国产线看观看| 亚洲1区2区3区视频| 亚洲最大在线视频| 久久成人精品电影| 亚洲欧美视频在线播放| 大胆国模一区二区三区| 91久久一区二区| 日韩精品 欧美| www.久久ai| 日本一区二区动态图| 国产伦精品一区二区三区在线| 伊人网av在线| 丝袜美腿高跟呻吟高潮一区| 性欧美xxxx交| 久久久久久天堂| 国产精品videosex性欧美| 亚洲欧美在线免费观看| 色综合久久五月| 亚洲成av人片在线观看www| 欧美人与性动xxxx| 婷婷免费在线观看| 久久女人天堂| 在线免费观看视频一区| 男人舔女人下面高潮视频| 国产传媒av在线| 亚洲国产精品一区二区www在线| 9l视频自拍9l视频自拍| 美女隐私在线观看| 中文字幕一区二区三区精华液| 日本精品一区二区| 男女视频在线观看| 国产亚洲欧美在线| 日本午夜精品一区二区| 四虎精品成人影院观看地址| 99精品欧美一区二区三区小说| 国产一区二区不卡视频| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 国产99久久精品一区二区 夜夜躁日日躁 | 粗暴91大变态调教| 韩国主播福利视频一区二区三区| 五月天亚洲婷婷| 九九九九免费视频| 女生影院久久| 在线免费观看成人短视频| 免费看国产黄色片| 欧美97人人模人人爽人人喊视频| 欧美日本一道本在线视频| 亚洲欧美手机在线| 一区二区三区国产好| 精品少妇一区二区三区 | 26uuu另类欧美亚洲曰本| 免费久久一级欧美特大黄| 欧美孕妇性xxxⅹ精品hd| 国产午夜精品一区二区三区视频| 神马影院我不卡午夜| 日本在线视频网| 亚洲精品免费视频| 日韩一级性生活片| 小视频免费在线观看| 在线中文字幕一区二区| 亚洲精品成人在线播放| 9l视频自拍九色9l视频成人| 日韩欧美一卡二卡| 四虎永久免费影院| 色婷婷亚洲mv天堂mv在影片| 欧美日韩国产va另类| 日本在线播放视频| 美女视频黄久久| 国产精品传媒毛片三区| 你懂的视频在线播放| 国产精品国产三级国产三级人妇| 男人添女荫道口女人有什么感觉| 亚洲精品国产精品国产| 91精品久久久久久久91蜜桃| 91av在线免费| 91高清一区| 欧美野外猛男的大粗鳮| 91国偷自产中文字幕久久| 国产成人精品免费看| 欧美重口乱码一区二区| 最近中文字幕免费mv2018在线| 精品国产乱码久久久久久天美 | 日本vs亚洲vs韩国一区三区二区| 91精品国产综合久久香蕉| 六月丁香色婷婷| 国产精品情趣视频| 免费看日本毛片| 国产精品国产三级在线观看| 亚洲视频视频在线| 国产中文字字幕乱码无限| 男女男精品网站| 狠狠色综合色区| 国产黄色小视频在线| 色嗨嗨av一区二区三区| 在线免费看黄色片| 2023国产精品久久久精品双| 日本久久亚洲电影| 后进极品白嫩翘臀在线视频| 国产精品二区一区二区aⅴ污介绍| 亚洲美免无码中文字幕在线| crdy在线观看欧美| 在线播放国产一区中文字幕剧情欧美| jizz国产免费| 国产乱码字幕精品高清av| 日本一区高清在线视频| av影片在线| 欧美成人乱码一区二区三区| 狂野欧美性猛交| 久热国产精品| 麻豆成人小视频| 77thz桃花论族在线观看| 欧美一级精品大片| 少妇视频一区二区| 日本欧美加勒比视频| 久久亚洲免费| 碰碰在线视频| 日韩精品在线电影| 日韩精品一区二区三区国语自制| 国产福利不卡视频| 9色视频在线观看| 96sao精品免费视频观看| 亚洲男人天堂久| 欧产日产国产69| 91丨九色丨黑人外教| 男女啪啪免费视频网站| 第四色中文综合网| 久久久久久尹人网香蕉| 日本激情视频网站| 亚洲a一区二区| 99re这里只有| 国产一区二区三区的电影| 精品国产_亚洲人成在线| gratisvideos另类灌满| 亚洲二区在线播放视频| 国产一区二区三区影院| 91在线观看污| av免费中文字幕| 夜夜春成人影院| 国产精品成人av性教育| 91社区在线观看播放| 欧美喷水一区二区| 手机在线免费看毛片| 国产成人a级片| 久久精品视频16| 国内精品伊人久久久| 国产精品网址在线| 伊人福利在线| 日韩av中文字幕在线| 一区二区三区在线观看av| 欧美经典一区二区| 在线观看日本www| 狠久久av成人天堂| 久久偷窥视频| 欧美黄色成人| 久久久女人电视剧免费播放下载| www.日本在线观看| 精品成人国产在线观看男人呻吟| 亚洲黄色小说视频| 国产麻豆一精品一av一免费 | 欧美亚洲综合网| 亚洲人与黑人屁股眼交| 国产成人av福利| 99999精品视频| 天天做天天爱天天综合网| 国产成人精品自拍| 欧美色网在线| 九九精品在线视频| 国外av在线| 日韩精品一区在线观看| 亚洲精品成人在线视频| 亚洲同性gay激情无套| 在线免费观看污视频| 男人的j进女人的j一区| 很污的网站在线观看| 日本不卡高清| 国产综合动作在线观看| 亚洲香蕉久久| 欧美在线精品免播放器视频| 国产素人视频在线观看| 亚洲女人被黑人巨大进入| 亚洲在线免费观看视频| 高跟丝袜一区二区三区| 东方av正在进入| 久久一夜天堂av一区二区三区| 午夜福利123| 久久精品男女| 日本免费a视频| 欧美h版在线| 明星裸体视频一区二区| 天堂va在线高清一区| 国产精品美乳一区二区免费| 91桃色在线观看| 久久天天躁夜夜躁狠狠躁2022| 久久精品a一级国产免视看成人| 欧美一级免费观看| 一级特黄特色的免费大片视频| 欧美性高潮床叫视频| 欧美片一区二区| 国产精品家庭影院| 免费看91的网站| 91在线云播放| 中文字幕一区二区三区人妻在线视频| 久色婷婷小香蕉久久| 久久综合久久色| 国产日韩欧美在线播放不卡| 久久亚洲a v| 亚洲午夜精品一区二区国产| 亚洲韩国在线| 国产探花一区二区| 美女精品国产| 欧美日韩破处| 精品91免费| 欧美男人操女人视频| 国产日韩欧美一区二区| 亚洲视频国产| 51国产成人精品午夜福中文下载| 在线日韩三级| 国产日韩欧美黄色| 精品九九久久| 国产精品尤物福利片在线观看| 最新欧美电影| 国产精品久久久久久久久久免费| 国产精品字幕| 国产精品夜间视频香蕉| 福利精品一区| 国产主播欧美精品| 日日夜夜综合| 亚洲bt天天射| 亚洲专区**| 成人永久免费| 欧美激情影院| 欧美激情第一页在线观看| 欧美在线关看| 日本一区二区三区www| 欧美日韩在线观看视频小说| 亚洲欧美日韩在线综合| 99久久婷婷这里只有精品| 在线成人av电影| 五月精品视频| 日本aa在线观看| 亚洲美女啪啪| 日本男人操女人| 美女国产一区二区三区| 精品亚洲视频在线| 国产精品主播直播| 成人在线电影网站| 久久久影视传媒| 刘亦菲国产毛片bd| 亚洲美女视频在线观看| 久久久精品一区二区涩爱| 婷婷久久综合九色综合伊人色| 老熟妇仑乱一区二区av| 欧美顶级少妇做爰| 亚洲精品国产精| 亚洲欧美日韩国产中文专区| 四虎久久免费| 欧美日韩成人黄色| 夜鲁夜鲁夜鲁视频在线播放| 国产精品欧美一区二区| 日韩精品一级| 另类小说综合网| 日韩电影二区| 国产日韩av网站| 日韩av午夜在线观看| 女王人厕视频2ⅴk| 91视频观看免费| 情侣偷拍对白清晰饥渴难耐| 婷婷激情综合网| 91精品国产乱码久久| 亚洲国产97在线精品一区| 第一视频专区在线| 欧美高清在线观看| 欧美va在线观看| 北条麻妃高清一区| 精品国产乱码久久久久久果冻传媒| 国产免费一区二区三区四在线播放 | 日韩国产一二三区| 国产伦精品一区二区三区视频孕妇| 欧美色蜜桃97| 日本a视频在线观看| 精品一区二区三区在线视频| 欧美黑人欧美精品刺激| 亚洲人妖av一区二区| 亚洲国产av一区二区三区| 欧美大片日本大片免费观看| 成人不用播放器| 91成人在线视频| 亚洲成人影音| 中文字幕一区二区三区最新| 亚洲免费网站| 不许穿内裤随时挨c调教h苏绵| 欧美国产一区二区| 91国产丝袜播放在线| 日韩手机在线导航| 91sp网站在线观看入口| 青青久久av北条麻妃黑人| 亚洲三区欧美一区国产二区| 最新不卡av| 日本成人在线电影网| 精品人妻无码一区二区三区 | 欧美性受xxx黑人xyx性爽| 亚洲国产精品久久久久秋霞蜜臀 | 色棕色天天综合网| 久久久亚洲精品无码| 成人精品免费看| 亚洲av无码一区二区三区在线| 欧美在线啊v一区| 免费福利在线视频| 97免费视频在线| 粉嫩的18在线观看极品精品| 无码人妻精品一区二区蜜桃网站| 国模娜娜一区二区三区| 国产乱子轮xxx农村| 欧美视频三区在线播放| 国产高清av在线| 国产成人97精品免费看片| 中文字幕av一区二区三区人| 男女超爽视频免费播放| 99re视频精品| 日韩一区二区视频在线| 日韩av在线高清| 亚洲黄色网址| 欧美一区二区三区四区五区六区| 噜噜噜在线观看免费视频日韩 | 台湾色综合娱乐中文网| 男女私大尺度视频| 波波电影院一区二区三区| 国产无码精品视频| 欧美精品一区二区久久婷婷| 成人三级高清视频在线看| www.成人av.com| 亚洲私拍自拍| 日韩无码精品一区二区| 亚洲成av人在线观看| 视频一区二区三区国产 | 高清一区二区中文字幕| eeuss中文| 国产福利一区在线观看| 日韩 国产 在线| 日韩av一区二区在线| 户外露出一区二区三区| 亚洲精品视频一二三| 国产一区二区在线免费观看| 欧美成人精品欧美一| 亚洲国产精品热久久| 亚洲国产成人二区| 亚洲人一区二区| 国产麻豆成人精品| 日韩欧美亚洲一区二区三区| 亚洲老板91色精品久久| 国产欧美自拍| 国产欧美123| 91免费观看视频| 中文字幕在线观看1| 欧美精品情趣视频| 欧美18xxxx| 亚洲免费一级视频| 尤物在线观看一区| 欧美女子与性| 成人免费在线视频网站| 亚洲精品国产日韩| 日本免费www| 欧美成人欧美edvon| 精品三区视频| 免费在线看黄色片| 久久精品欧美一区二区三区麻豆| 国产精品久久欧美久久一区| 97在线免费视频| 日韩在线视屏| 欧美精品欧美极品欧美激情| 欧美日韩夫妻久久| 高清毛片在线观看| 免费观看黄色的网站|