我喜欢阅读开源代码以了解特定问题是如何解决的,或者只是研究如何创建漂亮而干净的代码。
我想知道是否有任何一本好书可以通过不同(最好是在Java)开源项目的摘录来展示如何使用和实现模式,一些漂亮的技巧等等?
更新:我以设计模式为例,但事实并非如此。我读了很多开源代码,而且我经常找到一些有趣的做事方式,我以前没有想过 - 我的问题是是否有一本书显示了一些“酷”的开源代码,有点像Clean Code如何使用FitNesse代码来说明重构和其他要点。
答案 0 :(得分:5)
好吧,你可以阅读关于开源项目的书,作者可以展示什么和如何。例如。我读了Pro Spring 2.5,甚至有一章叫做“春天模式”,解释了他们为什么以及如何调用他们使用的文件,目录,设计模式以及邀请你使用等等。可能看看有关开源的书籍你调查的项目。
更新(只是那段插入扩展答案:):正如我之前所说,你可以查看有关开源项目的书籍,并找到有关该项目如何开发,架构问题等的信息一旦我找到了“开放/封闭原则”使用的真实好例子,理论很好,但我不会说如何使用它是如此清晰。帮助我的唯一一本书是Expert Spring MVC and Web Flow(我已经用我读过的那一章向你指了谷歌书)。我没有阅读整本书,但我确信它包含了很多这样的东西(用什么以及如何使Spring完成)。从书Clean Code: A Handbook of Agile Software Craftsmanship我记得有一章,当他们从一个开源项目中获取代码并使其更好时(不幸的是,开源并不意味着它已经足够好了);那本书还包含了一些其他项目的编写方式(例如jUnit)。我不知道任何书籍,它完全致力于任何项目,只有书籍在哪里是“理论”,书籍关于项目可以对内部的内容有一些解释。我会推荐来自APress的书籍(专业和专家系列,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以了解如何集成不同的应用程序,系统等(以及开源项目如何实现)。等等。只需指定您想要阅读的模式或技巧,社区将提出建议;)
我的书签中有一些网络链接:
还有几本书要看一看:
希望有所帮助
更新(25-05-2011)刚刚找到一本书,我肯定会购买,我认为这完全适合您的问题:
<强> The Architecture of Open Source Applications 强>
建筑师在培训期间查看数以千计的建筑物,并研究对大师所写建筑物的批评。相比之下,大多数软件开发人员只能很好地了解一些大型程序 - 通常是他们自己编写的程序 - 而且从不研究伟大的历史程序。结果,他们重复彼此的错误,而不是建立彼此的成功。本书的目标是改变这一点。其中,二十五个开源应用程序的作者解释了他们的软件是如何构建的,以及为什么。每个项目的主要组成部分是什么?他们如何互动?他们的建设者在开发过程中学到了什么?在回答这些问题时,本书的撰稿人提供了他们思考方式的独特见解。电子阅读器开源应用程序架构的电子版即将发布。
答案 1 :(得分:2)
好问题。但我怀疑是否有一本基于真实项目的书。 但要回答你的“干净整洁”部分,Josh Bloch's Effective Java是正确的书。
答案 2 :(得分:1)
我不确定是否有任何Java示例(我拥有这些书籍,但没有将它们带到学校),但如果您正在寻找有关如何阅读代码和评估其质量的一般建议,那么您可能会感谢Spinellis对Code Reading和Code Quality感兴趣。根据您的问题,我怀疑代码阅读更符合您的要求 - 它介绍了如何在编辑之前有效地阅读不熟悉的代码,理解复杂的代码等等。
答案 3 :(得分:0)
答案 4 :(得分:0)
最好的Java书籍绝对是Head First Java,我从来没有看过/读过像这样有趣的书+它以最简单和最有趣的形式解释了困难的事情。但这本书有点旧,但我认为如果你正在学习Java的基础知识就没关系