不會總結的程式設計師,不是好的程式設計師!
回頭看,我們做了什麼?
1.確認你的軟體在做客戶要它做的事
是的,我們做了讓用戶提供吉他屬性,可以從Guitar庫中搜尋到心儀的吉他,之間出現了總是沒有匹配到用戶想要的吉他,導致吉他店差點倒閉。還好經過努力,我們把自己犯得錯誤糾正了!不然店長就跟我們同歸於盡了!太可怕了。
改正了大小寫不符的錯誤,具體一點就是,把所有可以限制的吉他屬性,透過列舉一一列出,想使用哪一個,就呼叫哪個。不能限制的吉他屬性,只好全部轉為小寫來搭配。
2.運用基本的OO原則來增加軟體的靈活性
完成了吉他店長想要的功能,我們重新審視自己的程式碼,發現Guitar的物件不僅用來存儲吉他對象,同時也儲存使用者搜尋吉他的屬性。這樣不好,於是我們從Guitar類別中分離出GuitarSpec類別(哪些可以讓使用者搜尋的屬性,全部分割裝填到GuitarSpec類別)。
3.努力實現可維護、可重用的設計
我們又想到了未來,如果店長心血來潮,想要增加搜尋屬性,例如弦的個數。
於是,我們如同老黃牛一樣,將程式碼改個底朝天,所有涉及到增加搜尋屬性的地方,全部讓我們找了個遍,而且還在擔心是不是有些地方我們沒有找到。
月薪是固定的,工作時間是無限的。
為了少工作,來確保每小時拿到錢數是最大的。
恍然大悟,我們想到為什麼不把要修改的地方聚集在一起,所有新增搜尋屬性全部寫在GuitarSpec類別中,再讓對比屬性的方法也寫在GuitarSpec類別中,這樣我們用最小的工作量完成了任務。
謝天謝地,我們把未來的事都辦妥了,但是我們拿不到未來的薪水。
以上是關於良好應用程式基石總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!