您的位置:首页 > 其它

值得珍藏的书籍推荐(原)

2016-01-25 16:34 369 查看
要成为一个更好的开发人员,我应该读哪些书?我真的需要读书吗?

这是一个很值得探讨的问题,而且也是我在成为软件工程师之时问了很多导师的一个问题。但问题是,很多人推荐的是不同主题的不同书籍。他们推荐的书在他们看来是伟大的,但没有人能告诉我,要想成为一个伟大的工程师,我应该阅读什么,哪些是重要的、是必读的书籍。在自己寻找大神们的佳作中,发现了一些值得购买收藏的经典好书。这些书可以自己看,送人也是很好的选择。

技术知识无止境,看越多的书越发现自己的不足还有很多需要学习。---多读书,多看报,少吃零食,多睡觉。

事先声明——只是阅读这些书不会让你成为一个伟大的开发者。你还需要积累多年的工作经验,并应用这些书中的原则到现实实践中,并在现实世界中发展你解决问题的能力。



阅读这些书可以帮助你避免一些常见的陷阱和错误,一些开发人员早期经历的陷阱和犯过的错误。我多么希望在我刚进入软件领域的时候,就有人向我推荐这些书啊,并且我现在依然很庆幸自己发现并反复阅读了这些书!也许你已经在大学读计算机科学或工程课程的时候读到过其中的一些书。也许在那个时候,你觉得它们并不重要,但是我可以用我亲身经历来说明我使用和应用了许多来自于这些书的原则。我还要指出的是,此书单并不详尽。每年都会有许多伟大的著作问世。这些只是对我和我的职业生涯影响最大的书籍。此外,这些书和使用什么语言无关,可以应用于任何软件语言。

[10]《Effective Java》(美)Joshua Bloch 著



Joshua Bloch,Java界的传奇人物,如果你没有听过他的名字,也肯定看过他的书(Effective Java,Java Concurrency in Practice, Java Puzzlers)。他在哥伦比亚大学和卡内基梅隆大学分别获得计算机本科和博士学位。先是在Sun公司工作,2004年去了Google,是Google的Chief Java Architect。他主持了无数Java平台的设计和实现,包括Java集合(Collection)框架,java.math包,以及assert机制。一个人能搞计算机科学的研究,是牛人;能把计算机科学的技术深入浅出地写成著作,是大牛;二者兼备,并且始终战斗在第一线的就是大牛中的超牛了。

Effective java 这本书中包含很多使用简洁的方式使用高效、漂亮的java代码。作为一名学习Java的程序猿,这本书是一定要入手多读的,受益匪浅。

例:第九条:覆盖equals时总要覆盖hashCode

[9]Pragmatic Programmer》程序员修炼之道:从小工到专家(美)Andrew Hunt,David Thomas 著



本书主要介绍了软件开发的原则方法。本书直指编程前沿,透过日益增长的现代软件开发
规范和技术,对软件开发的核心过程进行了审视——以满足用户为本,针对用户需求来产出高效、可维护的优秀代码。全书涵盖内容广博,从个人责任和职业发展,到保持代码灵活性并使之易于改动和重用,多而不杂。本书采用了有趣的轶事、详实的例子以及诙谐的对话等方式,描述了软件开发方方面面的最佳实践方案和各种缺陷。您从本书所学到的开发技巧、开发习惯以及职业态度,必将帮助您修炼成为一名真正的Pragmatic Programmer!

程序员修炼之道 这本作为一名职场的程序猿,该书是挺好的规范。

例:1,我的源码让猫给吃了。

[8]《Refactoring Improving the Design of Existing Code》重构 改善既有代码的设计 (美)Martin Fowler 著



Martin Fowler是国际著名的面向对象分析设计、UML、模式等方面的专家,敏捷开发方法的创始人之一,现为ThoughtWorks公司的首席科学家。

重构代码是很有必要的;不管是在什么时候开发代码,当随着时间的推移,代码就会存在冗余和不合理的设计。那么如何去重构项目,这本书可以作为一个参考。

例:1,发现一个类有1000+行;2,发现项目中存在3-4处重复代码。 你需要重构啦。。。

[7]Clean Code A Handbook of Agile Software Craftsmanship》(美)Robert C. Martin 著



Robert C. Martin 是世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report 前主编,被后辈程序员尊称为“Bob大叔”。

《Clean Code》,作者Robert C. Martin,分为三个部分。第一部分介绍原则、模式和编写干净代码的实践方法。第二部分包括若干个复杂度渐进的研究案例。每个案例研究就是一个清洁代码的练习,也是通过解决代码库中的一些问题让代码变得健全、高效的练习。第三部分是决定性的一个部分:每个单独的章节在创建案例研究的时候包含了一系列启发式的教学法。最后得到了描述我们在编写、阅读和清理代码时的思考方式的知识库。

[6] Agile Software Development: Principles, Patterns, And Practices》敏捷软件开发(美)Robert
C. Martin 著



敏捷开发

[5] 《The Clean Coder》程序员的职业素养 (美)RobertC.Martin 著



Robert C. Martin,世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report 前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客,除本书外,还著有《代码整洁之道》、《敏捷软件开发:原则、模式和实践》、《UML:Java程序员指南》等。他最近创办了cleancoders.com网站,专为软件开发人员提供教育视频。

美的东西比丑的东西创建起来更廉价,也更快捷。构建、维护一个美的软件系统所花费的时间、金钱都要少于丑的系统。......美的系统是灵活、易于理解的,构建、维护他们是一种快乐。......

[4]Data structures and algorithm analysis in java second edition》 (美)Mark Allen Weiss 著



MarkAllen Weiss拥有普林斯顿大学计算机科学博士学位,现在是佛罗里达国际大学计算机学院教授。他是著名的计算机教育专家,在数据结构与算法分析方面卓有建树,著有多部畅销书籍:《Data Structures and Problem Solving:LJsirlg、Java》、《Data Structures
and Problem Solving:Using C++》、《数据结构与算法分析——C语言描述》等。他目前是AP(AdvancedPlacement)计算机学科委员会成员。

[3]Design Patterns》 设计模式 (美)Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides 著



如果你打算成为一名架构师或系统的设计人员,那么你很有可能会被要求阅读这本书。这是一本被誉为有史以来最伟大的有关于软件开发的书,详细讲述了许多不同的设计模式,这么多年来一直在帮助软件工程师避免和处理行业面临的常见问题。遵照这本书的策略可以助你打造更高品质,灵活和可维护的软件。传说中的“四人帮”就是这本书,因为它是由四个著名的作者共同编写的。

[2] 《Programming Pearls》编程珠玑(美)Jon Bentley



Jon Bentley 世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976~1982)、贝尔实验室(1982~2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr.Dobb's程序设计卓越奖。

这本书和这书单上的其他书籍略有不同。我想说这本书可以帮助一个人“像一个程序员一样思考”。《Programming Pearls》是先前发表在“Communications of
the ACM(美国计算机学会通讯)”的15篇专栏的一个纲要。这些专栏涵盖了广泛与编程相关的主题:从需求收集到性能优化。重点关注编码技术和算法。每个专栏被组织为一个章节。章节通常以一个实际问题的情景呈现开头。然后,提出各种解决方案和相应的经验教训。写作风格清晰明快。《Programming Pearls》不是教授新编程概念的寻常书籍。虽然它包含了优秀,有时甚至是相当新奇的想法,但这本书的目的不是教你一些新的东西,而是帮助你成为一个更好的问题解决者。

[1] 《Code Complete 2》代码大全(美)Steve McConnell 著



最后这本书很多朋友说特别牛,推荐给大家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: