實現相同的邏輯功能,不同的人可能用不同的方式來編寫代碼實現,但是有的代碼寫得簡潔明了,而且魯棒性強,有的代碼就寫得冗余繁瑣,而且常常漏洞百出,本文將持續總結本人在代碼實踐中的一些經驗教訓,鞭策自己不斷地提高代碼書寫質量,也希望能夠給其他的程序員提供一些參考。
1. 在使用某個對象中的方法的時候,要對其進行判空操作,因為你拿到這個對象(特別是異步拿到的時候),誰也說不好發生什么,誰也不能確定拿到的就是你所期望的對象,所以記住鐵律:在使用某個對象時,先判斷它是不是你想要的那個對象。如:
使用某個對象前要判斷這個對象是否為空
特別是那種連續取值,如a.b.c.d,更是要逐一判斷是否為空,如果用嵌套的if當然不好,可以用鏈式&&:
使用鏈式&&對多層取值進行判空處理
前面說到使用一個對象前要對其進行判空操作,那么我們經常就會有這種寫法:
巧用三目表達式簡寫一類邏輯
雖然這種寫法簡單明了,可讀性強,但是由于代碼塊中只是簡單的return操作,所以完全可以用三目表達式: obj ? express1 : express2來寫這類邏輯。
2. 善用數組的一些原生方法,如經常會遇到這種情況,我們想把數組a[]中的每個元素進行加工一下,然后push到數組b[]中,這個時候我們就可以用數組的map方法,即: new[] + push = map,這樣寫法簡潔明了。
巧用數組原生方法簡化一些數組操作
這篇文章我們對數組中所有方法的用途進行簡單的總結,可做參考。