大概提一些個人覺得有用的觀念, 可以做的方向以及建議順序
一些個人覺得蠻有用的觀念, 寫在前面
* 聚焦在目的, 而不是工具/方法/手段
打個簡單的比方,
做出好吃的料理是目的, 而用什麼器具、料理方法、調味方式是手段,
具焦在用的器具或調味品或許能讓你找到最棒的鍋子 (?) 跟調味料之類的,
但另一方面也可能讓你一旦沒有那特定的鍋子可用就成了料理白痴
反之具焦在做出好吃的料理,
思維上就會是 "有哪些工具/哪些材料的前提下, 如何能做出好吃的料理"
也會促使你研究、實踐各種手段來試著達到該目的,
並反思優/劣/利/弊/能如何再改善調整等, 多加上反思會更能進步
* 凡是都有代價
有這個觀念, 你就不容易只是停留在 "用工具/方法/手段" 的階段,
它會促使你學一樣新東西時,
主動搜尋
XXX advantages/disadvantages/drawbacks
XXX vs OOO
XXX OOO tips
XXX best practice
然後認真仔細地看上二三十篇文章, 去了解它的好與壞,
這讓你在學東西的廣度與深度上能有很大的改善
比如說 SRP 你可能就會找到這個
https://sklivvz.com/posts/i-dont-love-the-single-responsibility-principle
然後就可以看一看, 想一想, 再吸收成自己的東西
然後是一些能精進的方向
* 讓程式易讀、易改、容易擴充、不容易改東壞西
這部份就是你目前有在嚐試的 OOP/SOLID, 剛開始這就很夠了,
前面有人推的 Clean Code 跟 Clean Architecture 也可以看看,
ref:
https://www.tenlong.com.tw/products/9789862017050
https://www.tenlong.com.tw/products/9789864342945
https://www.books.com.tw/products/0010579897
https://www.books.com.tw/products/0010786994
網路上還找得到有人對 Clean Code 做的重點整理
ref: http://gitqwerty777.github.io/cleancode/
其它像 KISS, Composition over inheritance,
convention over configuration 也都是簡單又好用的一些原則
ref: https://bit.ly/2WoLIPI ,
https://tw.twincl.com/programming/*662v ,
https://bit.ly/316hYFO
另外可以學一下設計模試, 像 深入淺出-設計模式、
重構