不知道各位写代码时会不会经常觉得遇到以下问题:
...
以上只是我遇到许许多多问题中的一小部分,毕业快两年,我时常觉得自己写出的东西随着功能的增加离自己的设想越来越远,即使满足了业务需要也无法让自己满意。
我认为开发难以进行的根源往往不是因为开发人员不会写业务代码,而是设计上出现了不合理的地方,有时是因为初期没有时间仔细考虑,有时是因为不可避免的需要与其他项目耦合,然而归根结底是开发者的设计能力不足,没能让软件保持低耦合与高内聚。
近一个多月的时间,我试着通过各种渠道补充相关知识,从 数据库设计的一个小问题 到流行的架构模式和设计模式逐步学习,深感从 Python 开始开发一定程度上让我低估了面向对象设计的重要性。
以下是我最近读过或正在读的书单(按时间顺序):
顺序上存在一些不合理的地方,比如《实现领域驱动设计》中提到了许多我难以理解的概念,这些概念是通过穿插着阅读后面几本书以及通过搜索引擎才逐渐能够理解的(以及我至今也没能把这本书彻底读完),这些书中也会引用其他人的著作,受限于时间我也没能逐个阅读,比如《分析模式》、《重构》等。
可是直至目前我依然有很多疑问:印象里不久前还经常被人提起的“函数式编程”有什么优势?如果面向对象设计是一种“最佳实践”,为什么后来诞生的语言没有特别强调自己面向对象的特性?
简言之,我隐约感觉自己遇到了瓶颈,我不确定这些疑惑是否会随着不断学习而得到解答,同时也很担心自己绕了远路钻了牛角尖,所以 希望站内的大佬们可以推荐一些相关书籍或者分享一些自己的学习经历、见解 。
另外,我建了一个 QQ 群,希望 和我有同样困惑或相似目标 的人能够加入进来共同交流进步。这是一个尝试,我希望它是一个单纯的技术交流群,没有日常寒暄和无意义水群,不会因为过多的消息被人屏蔽,如果实在做不到我也可能解散掉它,群号 OTAyMzE0NDEz
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.