摘要:使用代替可以使用工具代替結語我們應該根據公司情況業務場景和團隊具體情況來制定適合自己的開發規范,開發規范不需要最好,也沒有最好的開發規范,只有適合自己的。后期我將和大家分享如何制定開發規范。
0 為什么要有規范?
與性能無關
與功能無關
與效果無關
與能力無關
與工期無關
但是,規范必不可少
與效率相關(開發、迭代和維護,重點提升維護及迭代效率)
與團隊相關(減少團隊之間的不一致性)
與面試相關(提高代碼健壯性,通過面試)
與習慣相關(保證最近實踐)
與開源相關(開源項目均有嚴格的開發規范)
1 效率代碼風格(eslint)
書寫規范(eslint)
1.1 易讀 1.1.1 空格(英文、數字與中文結合)// 不理想
AlexShan畢業于2008年
// 理想
AlexShan 畢業于 2008 年
數字、英文與中文直接左右應該留有 1 個空格1.1.2. 習慣
布局
// 不好的布局風格,用行內元素包裹塊級元素(新的 ESlint 規則默認禁止如此布局)
不好的布局風格
// 較好的布局
較好布局風格
我們應該合理選擇和使用html中的DOM元素進行頁面布局
換行
// 無換行
// 換行
我們應盡量保證代碼清晰,按結構布局,如果代碼密密麻麻,估計review的時候就會被打回來。并且嚴重影響閱讀速度。1.1.3. 命名
變量 | 對象、類 | 常量 | 函數 | 布爾值 | 私有屬性 |
---|---|---|---|---|---|
小駝峰 | 大駝峰 | 大寫 | 小駝峰 | 小駝峰 | 小駝峰 |
區分單復數 | 單數 | 動詞開頭 | is has can 肯定 | _ 下劃線開頭 | |
myName="" colleagues=["", ""] names =[] | class DogHouse | MAX_WIDTH | createUser deleteUser | available hasUser showName | _sum() |
避免無意義變量名 | 避免沖突 | 全局存儲 | 多用肯定詞 | 不對外暴露 |
應該盡可能讓代碼精簡,越少的代碼犯錯的概率越低。維護和迭代成本也越低。
函數應該保持單一功能原則,避免大而全的函數。哪怕一個函數只有 1 行代碼,也應該成為一個獨立的函數。
2 團隊團隊協作是稍具規模公司必不可少的問題,也是項目開發進度保證的重要基石。只有團隊協作,各自的功力發揮到極致,才能保證團隊生產力最大化。
我曾經遇到過一個團隊,各自為營,都按照自己想法和風格寫代碼,對代碼風格也沒有統一,關鍵是并非每個人都是大佬,寫出的代碼仍然具有非常多的問題,也么有嚴格按照最近實踐進行編寫,我的編譯器紅彤彤一片。
這個是線上環境的真實代碼,問題非常多。
無用代碼未及時去除
未遵循Vue.js最佳實踐進行開發https://vuejs.org/v2/style-guide/
使用行內樣式
我們不總結更多的存在的問題,可想而已,多人一起去維護這樣一套代碼,后期問題將非常多,非常有必要制定統一的規范。至少保證大家代碼風格相同,否則提交代碼時因格式問題也會引發大量沖突。解決沖突可不是我喜歡的事情。
3 面試面試這個環節是每個開發人員都必不可少的經歷,如果想進大廠,或者拿到好的薪酬。就必須通過面試,我們作為老司機,必須讓自己的代碼足夠健壯,書寫足夠規范,邊界條件的處理,哪怕很簡單的面試題,也是能夠看出一個人的編碼能力的。
4 習慣有人可能在偷樂,公司無規范,編碼無人管,自己說了算。想怎么寫就怎么寫,如果你想自己一直是個碼農,或者放棄自己進入大廠或者成為大牛的機會。那自然可以瀟灑走下去。如果希望自己能夠快速成長,何不做個領導者,領導自己,給自己給公司制定一個規范,也會讓領導刮目相看。我想,好的領導,應該沒有不喜歡有規范、有約束的代碼風格吧?
5 開源想成為開源的貢獻者、或者參與開源項目,我們就必須遵守開源項目的規范。像Angular,連提交代碼的格式和書寫都有嚴格的要求,并且開發了自己的代碼提交命令行工具。有興趣的同學可以深入了解。
使用Commitizen代替 git commit
可以使用cz-cli工具代替 git commit
我們應該根據公司情況、業務場景和團隊具體情況來制定適合自己的開發規范,開發規范不需要最好,也沒有最好的開發規范,只有適合自己的。例如谷歌的開發規范未必適合小的、需要快速迭代的實驗性項目。后期我將和大家分享如何制定開發規范。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/104958.html
摘要:可能很多人和我一樣首次聽到前端架構這個詞第一反應是前端還有架構這一說呢在后端開發領域系統規劃和可擴展性非常關鍵因此架構師備受重視早在開發工作啟動之前他們就被邀請加入到項目中而且他們會跟客戶討論即將建成的平臺的架構要求使用還什么技術棧內容類型 可能很多人和我一樣, 首次聽到前端架構這個詞, 第一反應是: 前端還有架構這一說呢? 在后端開發領域, 系統規劃和可擴展性非常關鍵, 因此架構師備...
摘要:可能很多人和我一樣首次聽到前端架構這個詞第一反應是前端還有架構這一說呢在后端開發領域系統規劃和可擴展性非常關鍵因此架構師備受重視早在開發工作啟動之前他們就被邀請加入到項目中而且他們會跟客戶討論即將建成的平臺的架構要求使用還什么技術棧內容類型 可能很多人和我一樣, 首次聽到前端架構這個詞, 第一反應是: 前端還有架構這一說呢? 在后端開發領域, 系統規劃和可擴展性非常關鍵, 因此架構師備...
摘要:可能很多人和我一樣首次聽到前端架構這個詞第一反應是前端還有架構這一說呢在后端開發領域系統規劃和可擴展性非常關鍵因此架構師備受重視早在開發工作啟動之前他們就被邀請加入到項目中而且他們會跟客戶討論即將建成的平臺的架構要求使用還什么技術棧內容類型 可能很多人和我一樣, 首次聽到前端架構這個詞, 第一反應是: 前端還有架構這一說呢? 在后端開發領域, 系統規劃和可擴展性非常關鍵, 因此架構師備...
閱讀 669·2023-04-25 15:49
閱讀 3121·2021-09-22 15:13
閱讀 1259·2021-09-07 10:13
閱讀 3482·2019-08-29 18:34
閱讀 2565·2019-08-29 15:22
閱讀 513·2019-08-27 10:52
閱讀 689·2019-08-26 18:27
閱讀 3025·2019-08-26 13:44