我已经编码了几年,但仍然觉得我的知识还不够广泛,无法成为一名专业人士。我研究过一些与设计模式相关的书籍,但我知道还有很多其他书籍。
那么有人可以列出您认为学习成为更好的程序员和更专业的人的模式和原则吗?
我工作的编程语言:C#、Ruby、Javascript。
我已经编码了几年,但仍然觉得我的知识还不够广泛,无法成为一名专业人士。我研究过一些与设计模式相关的书籍,但我知道还有很多其他书籍。
那么有人可以列出您认为学习成为更好的程序员和更专业的人的模式和原则吗?
我工作的编程语言:C#、Ruby、Javascript。
设计模式的百科全书知识会让你一事无成。应用它们的大量经验将。这将教您何时使用它们,何时不使用它们。
也就是说,最初的设计模式书仍然是我的最爱之一。边走边选其他模式。
原则是我要开始的地方,模式紧随其后。
原则:有一个完整的木筏,但这些是我从中获得实际里程的那些:
其中很多(组合在一起时)被称为SOLID(面向对象设计)。
图案:
假设您还没有看过Wikipedia 有一个很好的软件设计模式列表。
最后要记住的是,模式分为三种基本类型(加上多线程/并发的第四类);了解这些类别并在您做某事时牢记它们会有所帮助,它们是:
我目前正在学习/努力改进我的整体编码的一些更独立于语言的技能。
一些书籍推荐问题的链接@ SO:
当然,还有前面评论中提到的实用程序员书籍。
掌握工具(例如编程范式、模式、源代码控制、单元测试......)是必不可少的,但称自己为“专业人士”是不够的:恕我直言,真正专业程序员的标志是能够理解她的客户需要。不幸的是,这种知识很难从书本上学到。
我认为最好的方法是学习大量的语言。LISP、Scheme、Python、Smalltalk、Erlang、Prolog、Eiffel 等等
和他们一起建造东西。
我认为, Head First Design Pattern一书中描述的所有模式都是设计师/程序员必须知道的最低要求。我建议这本书开始学习设计模式。另一本书Design Pattern Work Book也很适合练习。
Martin Fowler 的企业应用架构模式与其他开发人员(例如存储库、活动记录、域模型、工作单元)建立共享词汇表。
Douglas Crockford 的Javascript:真正了解 Javascript 工作原理的好部分。
而且我真的建议进入 TDD(测试驱动开发)。有很多很好的 TDD 书籍,但如果你正在做棕地开发(我们大多数人都是),那么我真的会推荐 Michael Feather 的Working Effectively with Legacy Code。
最后是向您展示如何重构和清洁代码的书:鲍勃叔叔的清洁代码。
除了编写代码之外,您还应该尝试阅读代码。例如,从开源项目下载代码,尝试修改它并了解它在做什么以及为什么。或者尝试从以前的项目中查看您自己的代码。你现在会做什么不同的事情?你还能理解为什么要按照你的方式构建它吗?
您可能还想研究一些来自敏捷社区的实践。尤其是测试驱动开发是提高代码质量的好方法。