沒有,我只是想這樣下標題,連麥O勞都不要我QQ
最近在學裝飾器,這東西的用途就跟名字一樣,是用來裝飾的
不過比起裝飾,我覺得叫違建會更適合
比方說,有個程式的本體長這樣
它的用途非常簡單,就是告訴你一個漢堡50塊
然而由於人性的貪婪,沒有人會想吃一個原味漢堡,一定是加上各種各種奇奇怪怪的口味
所以就多了這串頂樓加蓋
現在不只能點原味漢堡,還能點一大堆口味,再組合起來印出像這樣的結果
這樣就知道點了牛肉魚肉豬肉還有再一份牛肉口味的漢堡
總價410
那為什麼要寫一大串頂樓加蓋,直接寫進本體裡不行嗎?
當然可以,但還是由於人性的貪婪,以後的東西一定會越來越多
要是通通塞進本體裡,程式會變得越來越大、越來越複雜,到時維護會非常麻煩
比方說除了漢堡口味外,之後又增加薯條雞塊之類的副餐,還有飲料種類
如果都塞進漢堡的本體,萬一其中某段出問題,除錯的時候就得全部從頭找一遍
真的會崩潰
但是如果拆開來
本體是本體
口味是口味
副餐是副餐
飲料是飲料
當程式運行出錯時,只需要分開來排查,就能找到出問題的地方
而且每段程式各自負責自己的部分,不會互相干擾,讀起來也比較清楚
還有最重要的,這些程式碼都能再利用
假如現在不想賣漢堡了,改去賣披薩,只要把本體修改一下
8/29 更
新增取消前項口味功能
輸入不合適的口味時出現提示
將清單整合成一個,刪掉重複的部分