<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          用standard來管理JavaScript 代碼規范

          時間:?2017-12-22閱讀:?1223標簽:?standard

          怎么才能使前端團隊寫的JavaScript代碼都有統一的風格、符合規范呢?要解決這個問題大概要做下面幾件事:

          制定規范標準
          寫代碼時執行代碼規范
          檢查代碼是否符合規范
          修改不符合規范的代碼

          那么,到底具體應該如何實施以上幾個步驟呢?我的回答是你什么都不用做了,有人已經幫你把以上四步全部做好了!是的,這個好用的工具就是本文要介紹的JavaScript規范庫,standarad


          關于standard

          standard是什么?

          一個開源的JS代碼規范庫,它做了以下事情

          制定了所謂standard(標準)的JS代碼規范
          配合編輯器插件可以實時檢查代碼規范以及語法錯誤
          通過執行命令檢查代碼規范以及語法錯誤
          自動修復(可以直接修復的)不合規范的代碼,使其符合規范


          關于standard中的代碼規范

          可以說JS這門語言的魅力之一就是自由、開放的寫法,相比python、Go等語言,JS寫起來自由的多。但是這種自由本身在團隊合作的項目里也帶來了很多的不便,于是我們需要指定代碼規范,但是應該以什么標準來制定規范呢?縮進到底是4格還是2格、結尾要不要用分號、花括號和if語句在同一行還是另起一行?諸如此類的問題,從功能和邏輯上來講并沒有標準答案,因為無論怎么選,代碼都能運行,功能都能實現。所以在JS程序員的世界里經常會有諸如縮進、分號、換行等寫法的爭論,standard庫對此給出的結論是,這種爭論對于getting stuff done并無意義,我們要停止這方面的爭論,把精力放在解決問題上。

          standard官方給出的說法如下:

          There are lots of debates online about tabs vs. spaces, etc. that will never be resolved. These debates just distract from getting stuff done. At the end of the day you have to ‘just pick something’, and that’s the whole philosophy of standard – its a bunch of sensible ‘just pick something’ opinions. Hopefully, users see the value in that over defending their own opinions.


          使用standard

          好了,開始使用standard吧。

          新建一個項目

          mkdir my-project
          cd my-project


          安裝standard

          npm init
          npm install standard --save-dev


          安裝snazzy,讓代碼檢查的結果輸出更加美觀

          npm install snazzy --save-dev


          配置package.json, 添加一條名為lint的npm script

          "scripts": {
           "lint": "standard --verbose | snazzy"
          }


          在項目下新建一個app.js文件,隨意輸入一些代碼并保存

          // app.js             // 錯誤說明
          const a = 1;          // 結尾不應該有分號,而且a定義了沒有使用
          const f = () => {}    // f定義了但是沒有使用
          log()                 // log未定義


          運行代碼檢查

          npm run lint


          看到檢查結果

          1:7   error  'a' is assigned a value but never used  no-unused-vars
          1:12  error  Extra semicolon                         semi
          2:7   error  'f' is assigned a value but never used  no-unused-vars
          4:1   error  'log' is not defined                    no-undef


          standard的更多功能

          1. 使用編輯器插件,實時檢查代碼規范
          2. 忽略某些不需要執行代碼規范的文件
          3. 局部禁用代碼檢查
          4. 指定全局變量,以避免變量未定義錯誤
          5. git pre-commit鉤子,在每次commit之前檢查代碼規范
          6. 為更多最新的JS語法添加檢查規范
          7. 自動修復


          總結

          standard應該是當前最好用的JS代碼規范庫,它無須更多配置,基本做到了安裝即用,而且還有很多擴展功能,應該能夠滿足大多數項目的代碼檢查需求。本文轉載博客

          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/271

          內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權或違規,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网