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