大家好,我是你們的 前端章魚貓,一個不喜歡吃魚、又不喜歡喵 的超級貓 ~
簡介
前端章魚貓從 2016 年加入 GitHub,到現在的 2020 年,快整整 5 個年頭了。
相信很多人都沒有逛 GitHub 的習慣,因此總會有開源信息的不對稱,有哪些優秀的前端開源項目值得學習的也不知道。
初步前端與高級前端之間,最大的差距可能就是信息差造成的。
從 2018 年開始,我就養成了每天逛 GitHub 的習慣,一般在早上上班前或者中午午休的時候都會逛一下。
看看每天都開源了哪些好的前端項目,還有用到的主流前端技術棧又是哪些,值得我去學習的。
因此也收藏了不少好的開源項目,在此推薦給大家,每周會有一到三篇精華文章推送。
希望你在瀏覽、學習了前端章魚貓推薦的這些開源項目的過程中,你能學習到更多編程知識、提高編程技巧、找到編程的樂趣。
前端GitHub,專注於挖掘 GitHub 上優秀的前端開源項目,抹平你的前端信息不對稱,涵蓋 JavaScript、Vue、React、Node、小程序、Flutter、Deno、HTML、CSS、數據結構與算法 等等。
以下為【前端GitHub】的第 5 期內容。
今天給大家帶來的是 幾個大廠的前端代碼規范。
前端代碼規范
代碼千萬行,安全第一行;前端不規范,同事兩行淚。
騰訊
包含內容也挺多的:
PC端專題:快速上手、文件目錄、頁面頭部、通用title、通用foot、統計代碼、兼容測試
移動端專題:快速上手、文件目錄、頁面頭部、REM布局、通用foot、統計代碼、分享組件、兼容要求
雙端官網:快速上手、頁面跳轉
不過里面也有一些內容是針對其業務的,並不通用。
京東
對比騰訊的代碼規范,我更推薦凹凸實驗室的代碼規范,比較齊全。
HTML規范
基於W3C、蘋果開發者等官方文檔,並結合團隊日常業務需求以及團隊在日常開發過程中總結提煉出的經驗而約定。
圖片規范
了解各種圖片格式特性,根據特性制定圖片規范,包括但不限於圖片的質量約定、圖片引入方式、圖片合並處理等。
CSS 規范
統一團隊 CSS 代碼書寫和 SASS 預編譯語言的語法風格,提供常用媒體查詢語句和瀏覽器私有屬性引用,並從業務層面統一規范常用模塊的引用。
命名規范
從 “目錄命名”、“圖片命名”、“ClassName” 命名等層面約定規范團隊的命名習慣,增強團隊代碼的可讀性。
JavaScript 規范
統一團隊的 JS 語法風格和書寫習慣,減少程序出錯的概率,其中也包含了 ES6 的語法規范和最佳實踐。
airbnb
包含了:類型、對象、數組、字符串、函數、屬性、變量、提升、比較運算符 & 等號、塊、注釋、空白、逗號、分號、類型轉化、命名規則、存取器、構造函數、事件、模塊、jQuery、ECMAScript 5 兼容性、測試、性能、資源、JavaScript 風格指南說明
Airbnb Javascript Style Guide:https://github.com/airbnb/javascript
百度
JavaScript編碼規范、HTML、CSS、Less、E-JSON 數據傳輸標准、模塊和加載器、包結構、項目目錄結構、圖表庫標准、react 編碼規范。
比如:縮進
- [強制] 使用
4
個空格做為一個縮進層級,不允許使用2
個空格 或tab
字符。 - [強制]
switch
下的case
和default
必須增加一個縮進層級。
// good
switch (variable) {
case '1':
// do...
break;
case '2':
// do...
break;
default:
// do...
}
// bad
switch (variable) {
case '1':
// do...
break;
case '2':
// do...
break;
default:
// do...
}
規范文檔:https://github.com/ecomfe/spec/blob/master/javascript-style-guide.md
網易編碼規范:
CSS規范:一系列規則和方法,幫助你架構並管理好樣式
HTML規范:一系列建議和方法,幫助你搭建簡潔嚴謹的結構
工程師規范:前端頁面開發工程師的工作流程和團隊協作規范
但是並不止於此,還有更多:
JavaScript Standard Style
除很多公司組織外,很多個人也在項目中使用的規范。
Vue
這里是官方的 Vue 特有代碼的風格指南。
如果在工程中使用 Vue,為了回避錯誤、小糾結和反模式,該指南是份不錯的參考。
不過我們也不確信風格指南的所有內容對於所有的團隊或工程都是理想的。
所以根據過去的經驗、周圍的技術棧、個人價值觀做出有意義的偏差是可取的。
es6
如何將 ES6 的新語法,運用到編碼實踐之中,與傳統的 JavaScript 語法結合在一起,寫出合理的、易於閱讀和維護的代碼。
Bootstrap
內容包含 HTML 和 CSS。
HTML
語法、HTML5 doctype、語言屬性、IE 兼容模式、字符編碼、引入 CSS 和 JavaScript 文件、實用為王、屬性順序、布爾型屬性、減少標簽的數量、JavaScript 生成的標簽。
CSS
語法、聲明順序、不要使用 @import、媒體查詢(Media query)的位置、帶前綴的屬性、單行規則聲明、簡寫形式的屬性聲明、Less 和 Sass 中的嵌套、Less 和 Sass 中的操作符、注釋、class 命名、選擇器、代碼組織。
Bootstrap 編碼規范:https://codeguide.bootcss.com/
ESLint
目前絕大多數前端項目都會用到的 可組裝的 JavaScrip t和 JSX 檢查工具。
發現問題
ESLint 靜態分析您的代碼以快速發現問題。ESLint 內置於大多數文本編輯器中,您可以將ESLint 作為持續集成管道的一部分運行。
自動修復
ESLint 發現的許多問題都可以自動修復。ESLint 修復程序可識別語法,因此您不會遇到傳統的查找和替換算法引入的錯誤。
定制
預處理代碼,使用自定義解析器,並編寫與 ESLint 內置規則一起使用的自己的規則。您可以自定義 ESLint,使其完全按照項目所需的方式工作。
ESLint: https://eslint.org/
ESLint 中文網:https://eslint.bootcss.com/
Prettier
Prettier 是一個“有主見”的代碼格式化工具。
簡而言之,這個工具能夠使輸出代碼保持風格一致。
也是目前絕大多數前端項目都會用到的哦。
Prettier:https://prettier.io/
最后
好了,【前端GitHub】的第 5 期內容已經講完了,更多精彩請看下方倉庫地址:
平時如何發現好的開源項目,可以看看這兩篇文章:GitHub 上能挖礦的神仙技巧 - 如何發現優秀開源項目 和 恕我直言,你可能連 GitHub 搜索都不會用 - 如何精准搜索的神仙技巧。
覺得有用 ?喜歡就收藏,順便點個贊吧,你的支持是我最大的鼓勵!
往期精文