今天學到兩個有趣、有用的 javascript 知識點(原諒我這個後端工程師看到這種有趣的特性的興奮感)
1. 用個 hashmap 來取值並直接當物件的 key/property 取值用,如第一張圖的 queryParams.ref_data[refDataMap[cal_type]]
如果 cal_type 是 M, 那拿到的就是
queryParams.ref_data.market_dt
在 C# 之類的靜態語言就得用 reflection 搞的概念。
2. 用 spread operator 攤開某個 value 的內容。
如圖2的 ...cal_type_map[cal_type], 如果 cal_type 是 T, 就會把這個物件多一個 key/value pair (或是 property 的概念), 例如 can_trans : Y
這兩張圖也是為了 show 一下,我們把一堆重複的代碼抽成小而美的 function 來組合實現原本那一大坨的流程,並去除抽象來看重複的部份。
其實看最終代碼真的沒啥,但體會中間用極速開發的過程重構那一大段 N 個螢幕才放得進去的 code, 六個人輪流 pair 重構,不斷把之前的code整理、抽變數/方法/參數,看到判斷式也是重複的、處理也是重複的,不斷消掉 if/else 裡面的 block, 再消掉 if/elseif 的 condition, 那才是一個爽!
這是 coaching 這個團隊第三天的產出,這三天經歷了我人生的第一個 node.js, jest test, 產品代碼跟測試代碼都重構,第一個 mongoDB 的整合測試。
其實用對方式,對的人,有主管支持,團隊可以一起做決定,可以一起變強,可以打從心裡想改善的。
#程式碼片段分享已取得客戶主管同意
#javascript有趣!
#那堆precondition我也想用wrapper幹掉
Search
elseif c 在 What is the problem of the "else if" condition in this C program? 的推薦與評價
... <看更多>