我該學會SOLID嗎?

Finn
3 min readMay 29, 2018

--

為什麼要SOLID

Agile敏捷開發的主要重點為"改變"

在書中提到,歡迎客戶端改變需求,第一次聽到覺得瘋了,但這也就是Agile的優勢

所以在開發期間會不斷地改變需求,也意味著你的程式碼不斷的改變而可能產生出Bug

SOLID目的也就是讓你程式碼 低耦合 高內聚 降低程式碼壞味道

透過分離與clean code來提高可讀性會讓你的程式碼等同於設計文件

所以在修改或新增過程中降低產生Bug的機率,也可以較快的找到與解決出問題的地方,可以有效的減少技術債

SOLID很複雜?

剛開始學的時候覺得很不習慣,因為跟直覺寫Code的方式不一樣

不過當瞭解背後用意的話,寫起來會比較有信心感

尤其當技術債逐漸減少時,會不怕需求變更

我認為程式碼有一定規模的話體驗會滿深的((義大利麵....

總結

SOLID算是寫軟體需要學會的內功,只要是物件導向語言都可以使用,CP值非常高

學會之後好處,像是容易擴充、即使修改也不會連動、很好寫測試…等等,目前學到的design pattern 幾乎都是建立在SOLID上面,只是因應狀況不同而改變,一開始難免有陣痛期與掙扎,但這些都比不上即使只進行簡單修改卻要消耗巨大人力的無力感

所以如果團隊開發是導入Agile,那你該問問自己,是否自己的程式碼是否也符合SOLID呢?

--

--