我們以一個(gè)例子出發(fā),在工作中我們可能寫(xiě)出以下的代碼:
這是一段讓數(shù)組中的全部項(xiàng)變成大寫(xiě)的代碼
這段代碼看起來(lái)好像也沒(méi)有什么問(wèn)題,閱讀起來(lái)也很清晰,但是總是讓人覺(jué)得好像有點(diǎn)長(zhǎng),甚至不那么高級(jí)。
首先我第一步就是減少功能對(duì)共享狀態(tài)的依賴(lài)。我們upperCaseItems在執(zhí)行過(guò)程中修改了items。這可能會(huì)對(duì)程序其他部分造成影響。我們要減少對(duì)Items的依賴(lài)。
給upperCaseItems傳入一個(gè)參數(shù),使之變成一個(gè)純函數(shù)
其次,我們使用可讀性更強(qiáng)的抽象語(yǔ)言,比如forEach進(jìn)行迭代。
使用forEach進(jìn)行循環(huán)數(shù)組
使用更高級(jí)的抽象數(shù)組map方法減少代碼量。
將功能簡(jiǎn)化成最簡(jiǎn)單的形式。
對(duì)于此項(xiàng)功能,我們也可能不需要自己寫(xiě)一個(gè)功能函數(shù),利用JS自帶的函數(shù)就可以解決此問(wèn)題。
通過(guò)不斷的修改,我們的代碼變的更加可靠,簡(jiǎn)潔。不過(guò)它的抽象程度也越來(lái)越高。
在實(shí)際寫(xiě)代碼中。我們一定要養(yǎng)成一個(gè)優(yōu)化代碼的好習(xí)慣,敢于嘗試新的方法。這樣才能使自己的代碼,越來(lái)越健壯。知識(shí)儲(chǔ)備越來(lái)越豐富,代碼水平也會(huì)慢慢提高。