大概提一些个人觉得有用的观念, 可以做的方向以及建议顺序
一些个人觉得蛮有用的观念, 写在前面
* 聚焦在目的, 而不是工具/方法/手段
打个简单的比方,
做出好吃的料理是目的, 而用什么器具、料理方法、调味方式是手段,
具焦在用的器具或调味品或许能让你找到最棒的锅子 (?) 跟调味料之类的,
但另一方面也可能让你一旦没有那特定的锅子可用就成了料理白痴
反之具焦在做出好吃的料理,
思维上就会是 "有哪些工具/哪些材料的前提下, 如何能做出好吃的料理"
也会促使你研究、实践各种手段来试着达到该目的,
并反思优/劣/利/弊/能如何再改善调整等, 多加上反思会更能进步
* 凡是都有代价
有这个观念, 你就不容易只是停留在 "用工具/方法/手段" 的阶段,
它会促使你学一样新东西时,
主动搜寻
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
另外可以学一下设计模试, 像 深入浅出-设计模式、
重构