【问题标题】:Is there any book studying Java open source code? [closed]有没有研究Java开源代码的书? [关闭]
【发布时间】:2011-01-09 12:10:31
【问题描述】:

我喜欢阅读开源代码以了解特定问题是如何解决的,或者只是研究如何创建漂亮而干净的代码。

我想知道是否真的有任何好书通过不同(最好是 Java)开源项目的摘录来展示如何使用和实现模式,一些漂亮的技巧等?

更新:我以设计模式为例,但这并不是我真正想要的。我阅读了很多开源代码,并且经常发现一些我以前没有想到的有趣的做事方式——我的问题是是否有一本书展示了一些“酷”的开源代码,有点像Clean Code 如何使用 FitNesse 代码来说明重构和其他要点。

【问题讨论】:

  • 您是在寻找专门的代码示例还是只是一般的模式?如果模式有很多关于各种模式以及如何最好地应用它们的书籍(我相信这里的人们会非常乐意提供建议)。

标签: java open-source


【解决方案1】:

好吧,您可以只阅读有关开源项目的书籍,作者可以展示内容和方式。例如。我读了Pro Spring 2.5,甚至还有一章叫做“Spring Patterns”,解释了他们为什么以及如何调用文件、目录、他们使用的设计模式并邀请你使用等等。可能看看你的开源项目的书调查。

更新(只是插入该段落以扩展答案:):正如我之前所说,您可以查看有关开源项目的书籍,并在那里找到该项目的开发方式、架构问题等信息. 一旦我寻找“开放/封闭原则”使用的真正好例子,理论很好,但我不会说如何使用它很清楚。唯一对我有帮助的书是Expert Spring MVC and Web Flow(我已经向你指出我读过的那一章的谷歌书籍)。我没有阅读整本书,但我确信它包含很多这样的东西(使用什么以及如何使 Spring 完成)。从书Clean Code: A Handbook of Agile Software Craftsmanship我记得有一章,当他们从一个开源项目中获取代码并使其变得更好(不幸的是开源并不意味着它足够好);该书还包含对其他一些项目的编写方式的参考(例如 jUnit)。我不知道任何完全致力于任何项目的书,只有“理论”的书,以及可以对里面的内容进行一些解释的项目书。我会推荐来自 APress 的书籍(Pro 和 Expert 系列,afaik “入门”书籍不包含此类解释)和 Packt Publishing - 他们的主要主题是开源。

更新 2(就是停不下来 :) 只记得 OReilly “Beautiful ....” 的新系列书籍 - 我从未读过它,但我看过了。它实际上由开发背后的不同故事、生活中的真实故事组成。我看到还有Beautiful Code: Leading Programmers Explain How They Think - 我应该包含你需要的东西。其他“漂亮”的书也值得你花时间。

关于一般模式,有很多好书,这取决于您到底在寻找什么。例如。 Head First Design Patterns 很好地以有趣的方式解释常见模式。如果您需要更多,可以查看Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions,了解如何集成不同的应用程序、系统等(以及开源项目如何集成)。等等。只需指定您想了解哪些模式或技巧,社区就会提出建议;)

我的书签中的一些网页链接:

  1. Anti Patterns Catalog - 知道你不会做什么!
  2. Design PatternsMartin Fowler's Catalog - 这是关于什么是好用和了解的简短内容
  3. SOA patterns - SOA 模式(集成等)的社区站点

还有几本书可以看:

  1. Head First Object-Oriented Analysis and Design
  2. Agile Software Development, Principles, Patterns, and Practices
  3. Code Complete - 这本书简直就是一本关于如何编写代码的圣经……

开发开源的人肯定知道那些书是关于什么的;)

希望有帮助

更新 (25-05-2011) 刚刚找到一本书,我肯定会买,我认为它完全符合您的问题:

The Architecture of Open Source Applications

建筑师在培训期间会观察数千座建筑,并研究大师对这些建筑的评论。相比之下,大多数软件开发人员只熟悉少数几个大型程序——通常是他们自己编写的程序——而从不研究历史上的伟大程序。结果,他们重复彼此的错误,而不是建立在彼此成功的基础上。本书的目标是改变这一点。在其中,二十五个开源应用程序的作者解释了他们的软件是如何构建的,以及为什么。每个程序的主要组成部分是什么?他们如何互动?他们的建设者在开发过程中学到了什么?在回答这些问题时,本书的撰稿人就他们的思维方式提供了独特的见解。面向电子阅读器的开源应用架构的电子版将很快可供下载。

【讨论】:

  • 这些书籍中的一些建议确实非常好,但不幸的是它们没有达到我的要求:例如,Head First Design Patterns 非常好,但没有提供现实生活中的示例。完整的代码也是一本很棒的读物,但它并不是我想要的,因为它只提供了一些小例子来说明关键点。
  • 我明白你的意思,那么我会在第一段推荐那本关于 Spring 的书。一旦我使用“开放/封闭原则”的例子,以及我在一本书中找到的最佳解释......我明白你的意思,我将稍微扩展我的答案。谢谢指点
  • 我什至做了第二轮来完成我的答案。希望它有所帮助......否则评论我的答案,我会想更多;)
  • 顺便说一句。关于现实生活中的模式 - 许多模式都有某种命名约定......如果您需要现实生活中的示例,只需获取大型项目资源(例如 Spring),查找末尾带有单词“Factory”的类,很可能您会找到工厂的例子 :) 与“Builder”等相同。当我想知道其他人如何组织它、解决结构化等问题时,我会使用这种方式。
【解决方案2】:

好问题。但我怀疑是否有基于真实项目的书。 但要回答您的“漂亮和干净”部分,Josh Bloch's Effective Java 是正确的书。

【讨论】:

    【解决方案3】:

    我不确定是否有任何 Java 示例(我拥有这些书籍,但没有将它们带到学校),但如果您正在寻找有关如何阅读代码和评估其质量的一般建议,您可能会对 Spinellis 的 Code ReadingCode Quality 感兴趣。根据您的问题,我怀疑代码阅读更符合您的要求 - 它着眼于在编辑之前如何有效地阅读不熟悉的代码、理解复杂的代码等等。

    【讨论】:

      【解决方案4】:

      不是一本书,但可能会有所帮助。 http://www.java2s.com/Code/Java/Design-Pattern/CatalogDesign-Pattern.htm

      【讨论】:

        【解决方案5】:

        最好的 Java 书籍绝对是 Head First Java,我从未见过/读过这么有趣的书 + 它以最简单和最有趣的形式解释了困难的事情。不过这本书有点老了,不过我觉得学Java基础的还行

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-06
          • 1970-01-01
          • 2021-11-08
          相关资源
          最近更新 更多