重構代碼第二彈!!!
在沒有寫第二彈前…
我ㄧ直在想會不會所有規劃好的系列文 都只有一回…XD
內文
- 更好的 function (參數給予預設值)
- 更好的 array callback( function 獨立拆出並給予命名)
- 更好的 邏輯運算子 || (改用陣列過濾)
更好的 function (參數給予預設值)
處理動態資料時
將 function 給予預設值是一個好選擇
以免 API 未回傳正確資料時 APP 閃退
或發生各種不必要的悲劇
當參數遇到 undefined 時則會給予預設值
Normal
1 | const getAPlusB = (a, b) => a + b; |
Better 寫法一
1 | const getAPlusB = (a = 0, b = 0) => a + b; |
Better 寫法二
1 | const getAPlusB = (a, b) => { |
更好的 array callback( function 獨立拆出並給予命名)
當 array 方法裡面的 callback function 較複雜的時候
將其獨立出來給予命名是一個好選擇
因為可以更直觀的了解其作用與功能
Normal
1 | const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; |
Better
1 | const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; |
更好的 邏輯運算子 || (改用陣列過濾)
這邊範例是用 indexOf 來重構
但實際上用 includes 會更直觀
但使用上需要注意 indexOf 存在於 ES5
而 includes 則為 ES6 所加上的
Normal
1 | const getIdInfo = (id) => { |
Better
1 | const arrayOne = [1, 2, 3, 4, 5]; |
本文作者: David Huang
本文地址: https://davidblog.github.io/2020/06/28/refactor2/