Friday, October 28, 2016

解析 json API 輸出 - Fold knowledge into data so program logic can be stupid and robust.

最近重構了一段程式碼,用來解析 json API 的輸出。寫完之後,發覺這個重構,它為什麼可以讓程式碼變得比較容易看懂、比較好維護,因為它符合了一條 Unix 設計哲學。

Fold knowledge into data so program logic can be stupid and robust.

Data is more tractable than program logic. It follows that where you see a choice between complexity in data structures and complexity in code, choose the former. More: in evolving a design, you should actively seek ways to shift complexity from code to data.

中譯:
將知識塞進資料,好讓程式的邏輯變得單純卻強固。

資料比起程式邏輯更容易被理解。因此,當你發現可以選擇資料複雜性或是程式碼複雜性時,選擇前者。更進一步來說,在系統設計演進的過程,你應該積極地尋找方式,好讓複雜性從程式碼進入資料。