為了保證的可讀性,本文采用意譯而非直譯。
簡介
如果咱們關(guān)注代碼本身結(jié)構(gòu)及可讀笥,而不是只關(guān)心它是否能工作,那么咱們寫代碼是有一定的水準(zhǔn)。專業(yè)開發(fā)人員將為未來的自己和“其他人”編寫代碼,而不僅僅只編寫能應(yīng)付當(dāng)前工作的代碼。
在此基礎(chǔ)上,可讀性高的代碼可以定義為自解釋的、易于人理解的、易于更改或擴展的代碼。
以下列表一些好編寫方式,僅供參考,當(dāng)然,如果你有更好的方式,歡迎留言。
改下的方式只是提供一種角度,不代表就需要這樣做,請勿抬扛
1. 強類型檢查
用===代替 ==
2.變量
用知名其意的方式為變量命名,通過這種方式,當(dāng)再次看到變量名時,就能大概理解其中的用意
不要在變量名中添加額外的不需要的單詞
不要簡寫變量上下文
不要添加不必要的上下文
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ù),因為它們告訴函數(shù)做的比它應(yīng)該做的多
不要污染全局變量,如果需要擴展現(xiàn)有對象,請使用ES6類和繼承,而不是在原生對象的原型鏈上創(chuàng)建函數(shù)
4. 條件
避免使用反面條件
使用條件簡寫,僅對布爾值使用此方法,并且如果確信該值不會是undefined 或null的,則使用此方法
盡可能避免條件句,而是使用多態(tài)性和繼承
5. 類
class 是 JS 中新的語法糖,工作方式就像以前的原型但比原型的方式更簡單易懂
使用鏈接,許多庫(如jQuery和Lodash)都使用這種模式。在類中,只需在每個函數(shù)的末尾返回this就可以將更多的該類方法鏈接到它上。
總結(jié)
這只是改進代碼的一小部分。一般生活入,這里所說的原則是人們通常不遵守的原則。他們嘗試著去做,但出于各種原因,就沒有堅持下去。也許在項目開始時,代碼是簡潔的,但是當(dāng)要在截止日期前完成時,這些原則常常被忽略,并被轉(zhuǎn)移到“TODO”或“REFACTOR”部分。在這一點上,你的客戶更希望您在最后期限之前完成任務(wù),而不是編寫簡潔的代碼。 上一頁 1 2 下一頁
關(guān)鍵詞: