5

我已经编码了几年,但仍然觉得我的知识还不够广泛,无法成为一名专业人士。我研究过一些与设计模式相关的书籍,但我知道还有很多其他书籍。

那么有人可以列出您认为学习成为更好的程序员和更专业的人的模式和原则吗?

我工作的编程语言:C#、Ruby、Javascript。

4

8 回答 8

8

设计模式的百科全书知识会让你一事无成。应用它们的大量经验将。这将教您何时使用它们,何时不使用它们。

也就是说,最初的设计模式书仍然是我的最爱之一。边走边选其他模式。

于 2010-06-01T07:21:02.467 回答
3

原则是我要开始的地方,模式紧随其后。

原则:有一个完整的木筏,但这些是我从中获得实际里程的那些:

其中很多(组合在一起时)被称为SOLID(面向对象设计)。

图案:

  • 我最喜欢的是依赖倒置原则(DIP),通常也称为(或至少非常类似于)控制倒置(IoC)。这对于抽象出接口背后的数据访问实现非常有用。Martin Fowler 将其称为不同的名称(抱歉,我面前没有我的“企业应用程序架构模式”副本)。
  • 延迟加载也很有用。
  • 工厂模式是一个众所周知的模式——有充分的理由。
  • 立面图案也帮助我避免了麻烦。

假设您还没有看过Wikipedia 有一个很好的软件设计模式列表。

最后要记住的是,模式分为三种基本类型(加上多线程/并发的第四类);了解这些类别并在您做某事时牢记它们会有所帮助,它们是:

  • 创造的
  • 结构
  • 行为的
于 2010-06-01T08:41:03.413 回答
3

我目前正在学习/努力改进我的整体编码的一些更独立于语言的技能。

  • 编写干净、可读和可维护的代码
  • 重构
  • 面向 OOP 语言的正确对象设计
  • 正确使用适当的源代码控制系统。Sourcesafe 不算数:D
  • 单元测试和测试驱动开发
  • 正确应用设计模式。学习它们是一回事,学习何时何地应用它们要棘手得多。

一些书籍推荐问题的链接@ SO:

  • 你读过的最好的设计模式书籍是什么?
  • 帮我挑选一本关于设计模式、重构和/或测试的书
  • 涵盖 .NET 中的 TDD、DDD 和设计模式的书籍
  • 关于 TDD 的最佳书籍
  • 适合初学者的最佳设计模式书?
  • C# 设计模式书
  • 不错的 C# 单元测试书

当然,还有前面评论中提到的实用程序员书籍。

于 2010-06-01T07:23:40.887 回答
2

掌握工具(例如编程范式、模式、源代码控制、单元测试......)是必不可少的,但称自己为“专业人士”是不够的:恕我直言,真正专业程序员的标志是能够理解她的客户需要。不幸的是,这种知识很难从书本上学到。

于 2010-06-01T08:50:11.643 回答
1

我认为最好的方法是学习大量的语言。LISP、Scheme、Python、Smalltalk、Erlang、Prolog、Eiffel 等等

和他们一起建造东西。

于 2010-06-01T07:11:25.460 回答
0

我认为, Head First Design Pattern一书中描述的所有模式都是设计师/程序员必须知道的最低要求。我建议这本书开始学习设计模式。另一本书Design Pattern Work Book也很适合练习。

于 2011-05-23T16:18:59.717 回答
0

Martin Fowler 的企业应用架构模式与其他开发人员(例如存储库、活动记录、域模型、工作单元)建立共享词汇表。

Douglas Crockford 的Javascript:真正了解 Javascript 工作原理的好部分。

而且我真的建议进入 TDD(测试驱动开发)。有很多很好的 TDD 书籍,但如果你正在做棕地开发(我们大多数人都是),那么我真的会推荐 Michael Feather 的Working Effectively with Legacy Code

最后是向您展示如何重构和清洁代码的书:鲍勃叔叔的清洁代码

于 2010-06-01T07:46:53.617 回答
0

除了编写代码之外,您还应该尝试阅读代码。例如,从开源项目下载代码,尝试修改它并了解它在做什么以及为什么。或者尝试从以前的项目中查看您自己的代码。你现在会做什么不同的事情?你还能理解为什么要按照你的方式构建它吗?

您可能还想研究一些来自敏捷社区的实践。尤其是测试驱动开发是提高代码质量的好方法。

于 2010-06-01T07:59:07.710 回答