為了保證的可讀性,本文采用意譯而非直譯。 簡介如果咱們關(guān)注代碼本身結(jié)構(gòu)及可讀笥,而不是只關(guān)心它是否能工作,那么咱們寫代碼是有一定的水準(zhǔn)。專業(yè)開發(fā)人員將為未來的自己和“其他人”編寫代碼,而不僅僅只編寫能應(yīng)付當(dāng)前工作的代碼。 在此基礎(chǔ)上,可讀性高的代碼可以定義為自解釋的、易于人理解的、易于更改或擴(kuò)展的代碼。 以下列表一些好編寫方式,僅供參考,當(dāng)然,如果你有更好的方式,歡迎留言。
1. 強(qiáng)類型檢查用===代替 == 2.變量用知名其意的方式為變量命名,通過這種方式,當(dāng)再次看到變量名時(shí),就能大概理解其中的用意 不要在變量名中添加額外的不需要的單詞 不要簡寫變量上下文 不要添加不必要的上下文 3. 函數(shù)使用長而具有描述性的名稱,考慮到函數(shù)表示某種行為,函數(shù)名稱應(yīng)該是動詞或短語,用以說明其背后的意圖以及參數(shù)的意圖。函數(shù)的名字應(yīng)該說明他們做了什么。 避免使用大量參數(shù),理想情況下,函數(shù)應(yīng)該指定兩個或更少的參數(shù)。參數(shù)越少,測試函數(shù)就越容易,參數(shù)多的情況可以使用對象。 使用默認(rèn)參數(shù)替代 || 操作 一個函數(shù)應(yīng)該只做一件事,不要在一個函數(shù)中執(zhí)行多個操作 使用Object.assign設(shè)置對象默認(rèn)值 不要使用標(biāo)志作為參數(shù),因?yàn)樗鼈兏嬖V函數(shù)做的比它應(yīng)該做的多 不要污染全局變量,如果需要擴(kuò)展現(xiàn)有對象,請使用ES6類和繼承,而不是在原生對象的原型鏈上創(chuàng)建函數(shù) 4. 條件避免使用反面條件 使用條件簡寫,僅對布爾值使用此方法,并且如果確信該值不會是undefined 或null的,則使用此方法 盡可能避免條件句,而是使用多態(tài)性和繼承 5. 類class 是 JS 中新的語法糖,工作方式就像以前的原型但比原型的方式更簡單易懂 使用鏈接,許多庫(如jQuery和Lodash)都使用這種模式。在類中,只需在每個函數(shù)的末尾返回this就可以將更多的該類方法鏈接到它上。 總結(jié)這只是改進(jìn)代碼的一小部分。一般生活入,這里所說的原則是人們通常不遵守的原則。他們嘗試著去做,但出于各種原因,就沒有堅(jiān)持下去。也許在項(xiàng)目開始時(shí),代碼是簡潔的,但是當(dāng)要在截止日期前完成時(shí),這些原則常常被忽略,并被轉(zhuǎn)移到“TODO”或“REFACTOR”部分。在這一點(diǎn)上,你的客戶更希望您在最后期限之前完成任務(wù),而不是編寫簡潔的代碼。 原文:https://blog./javascript-clean-coding-best-practices-node-js-at-scale/ |
|