随着这个世界越来越依赖我们的实践,作为计算机行业的从业人员,对计算机行业的 science 实在有必要给与应有的尊重。行动的第一步,就是阅读一些经典的著作,掌握前人/前辈/行业大家们总结出来的知识和行之有效的实践,在日常实践中使用这些知识和实践,成为一个更好的开发人员。他将这些著作分成五大类:
基本读物(Foundational Texts) (每个开发人员都应该读的,没有例外,不管什么经验或平台。这些读物注重讨论如何编写更好,可维护的代码,向坚实的面向对象设计过渡)
- Code Complete, 2nd Ed. by Steve McConnell (【中文版】代码大全(第二版),金戈译,电子工业出版社出版)
- Refactoring by Martin Fowler (【中文版】重构:改善既有代码的设计,侯捷译,中国电力出版社出版)
- Refactoring Workbook by William Wake
- Applying UML and Patterns, 3rd Ed. by Craig Larman (【中文版】UML和模式应用:面向对象分析与设计导论,姚淑珍译,机械工业出版社出版) 以及 UML Distilled, 3rd Ed. by Martin Fowler
- Object-Oriented Design Heuristics by Arthur Riel (【中文版】OOD启思录,鲍志云译,人民邮电出版社出版)
学徒读物(Apprenticeship Texts)(这些读物帮你从代码的层次转移到从高的层次来看待实现,以完善项目整体为目的)
- The Pragmatic Programmer by Andrew Hunt (【中文版】程序员修炼之道——从小工到专家,马维达译,电子工业出版社出版)
- Patterns of Enterprise Application Architecture by Martin Fowler (【中文版】企业应用架构模式,王怀民译,机械工业出版社出版)
- Test-Driven Development by Kent Beck (【中文版】测试驱动开发,崔凯译,中国电力出版社出版)
- Refactoring to Patterns by Joshua Kerievsky (【中文版】重构与模式,杨光译,人民邮电出版社出版)
- Head First Design Patterns by the Freemans (【中文版】Head First设计模式,UMLChina译,中国电力出版社出版) 以及 Design Patterns (【中文版】设计模式:可复用面向对象软件的基础,李英军译,机械工业出版社出版)
熟练技术人员读物(Journeyman Texts)(这些读物转向“把东西整合起来”,涉及软件开发过程,并深入计算机科学后面的“science”)
- The Mythical Man-Month by Frederick Brooks (【中文版】人月神话,UMLChina译,清华大学出版社出版)
- User Stories Applied by Mike Cohn
- Agile Software Development (【中文版】敏捷软件开发:原则、模式与实践,邓辉译,清华大学出版社出版)或者 Agile Principles, Patterns, and Practices in C# by Robert Martin
- Applying Domain-Driven Design and Patterns by Jimmy Nilsson
- Rapid Development by Steve McConnell
- Extreme Programming Explained, 2nd Ed. by Kent Beck (【中文版】解析极限编程--拥抱变化(第二版),雷剑文译,电子工业出版社出版) 以及 Agile Project Management with Scrum by Ken Schwaber (【中文版】Scrum敏捷项目管理,李国彪译,清华大学出版社出版)
- Introduction to Algorithms by Thomas Cormen
专家初始读物(The Beginnings of Mastery)(这些读物帮你磨练技术,帮助提高团队的效率)
- Domain Driven Design by Eric Evans (【中文版】领域驱动设计--软件核心复杂性应对之道,陈大峰译,清华大学出版社出版)
- Working Effectively with Legacy Code by Michael Feathers (【中文版】修改代码的艺术,刘未鹏译,人民邮电出版社出版)
- Agile Estimating and Planning by Mike Cohn (【中文版】敏捷估计与规划,宋锐译,清华大学出版社出版)
- Lean Software Development by Poppendiecks (【中文版】敏捷软件开发工具——精益开发方法,朱崇高译,清华大学出版社出版) 以及 Implementing Lean Software Development
专家读物(Mastery Texts)(虽然不是必读,但下面这些读物助你进入纯计算机科学的领域,最少也向你示范我们的工作有个坚实的定量科学的基础)
- The Art of Computer Programming, Volume 1: Fundamental Algorithms, 3rd Ed. by Donald Knuth 第 2, 3, 4 卷(以及相关著作) (【中文版】计算机程序设计艺术 1-4卷,苏运霖译,机械工业出版社出版)
- Concrete Mathematics: A Foundation for Computer Science, 2nd Ed. by Donal Knuth
转自:http://hi.baidu.com/myaspdotnet/blog/item/8c2198cb3e5951f953664fe6.html
分享到:
相关推荐
本教程资源"ios-站在巨人的肩膀上-scrollView联动.zip"可能包含了一个名为"XYSlideMenu"的示例项目,旨在帮助开发者理解并实现ScrollView的联动效果。 ScrollView联动的核心是通过监听ScrollView的滚动事件,将滚动...
综上所述,卓越商企服务在商务物业管理领域具有一定的竞争优势,其业务模式、区域扩张策略、增值服务发展以及母公司支持都为其未来的发展提供了良好的基础。然而,投资者在做出投资决策时还需考虑市场风险和行业动态...
UCloud基础云产品中心总监俞圆圆女士在她题为《站在巨人的肩膀上-构建公有云平台上的容器服务》的技术分享中,深入探讨了如何在公有云平台上有效地构建和优化容器服务。 俞圆圆女士拥有丰富的行业经验,曾在国际...
站在巨人的肩上--泛德林恩借势营销策划.doc
八年级物理全册1.3站在巨人的肩膀上我国的四大发明素材新版沪科.doc
描述中提到的内容是故事的一部分,讲述了巨人对孩子们的态度转变,以及花园在孩子们存在和不在时的两种截然不同的景象。这部分内容揭示了故事中的一个重要主题:分享与友谊带来的温暖和生命的活力。 故事中的标签...
绿洲APP产品分析报告:站在巨人肩膀上能否看得更远?.pdf
站在巨人的肩膀上,_迁移学习_Transfer_Learning
java airplay 安卓端实现,优化中,站在巨人的肩膀上AirplayAndroid接收器java airplay 安卓端实现,优化中,站在巨人的肩膀上
站在巨人的肩膀上:分层设计在 Nervos 生态系统中的 layer 2区块链上的实际应用-SACC2021年中国系统架构师大会
本报告聚焦于保险行业的“御繁归简”系列,特别关注再保险领域,将其比喻为站在直保市场背后的巨人。随着保险行业向保障型业务转型,再保险的需求逐渐显现。报告指出,人身险销售模式从单一产品转向“1+N”组合,...
本项目“站在巨人肩膀上制作的异步非阻塞IM”是一个基于Java语言实现的高效通信平台,它巧妙地利用了现有的开源技术和工具,以解决大规模并发下的高性能通信问题。以下将详细阐述这个项目中的关键知识点。 首先,...
在C++编程中,错误处理是一项至关重要的任务,因为它们能帮助我们发现并修复程序中的问题,从而提高软件的质量和稳定性。...记住,每一次错误都是学习的机会,站在前人的经验上,我们可以走得更远。
07丨目标:站在巨人肩膀,你的理想框架到底长什么样?【1】.pdf
【标签】"java项目" 进一步确认了项目的核心技术栈是Java,这通常意味着项目中会包含.java文件,这些文件是Java源代码,需要通过Java编译器转换为.class字节码文件才能运行在Java虚拟机(JVM)上。此外,项目可能还...
【标题】中的“站在巨人的肩膀上的项目,感谢zhile大佬的Pandora-Next项目”表明这是一个基于他人开源项目进行开发或改进的项目。这里的“Pandora-Next”可能是一个由用户“zhile”创建的开源项目,它很可能在Python...
14. 文件中还提到了宝胜国际的公司背景,包括其在中国消费行业中的位置,以及它在当前市场环境下如何站在“巨人的肩膀上”即利用与Nike和adidas等国际品牌的合作关系实现自身的增长。 通过上述知识点的整理,可以...
本项目“站在巨人肩膀上制作了异步非阻塞的IM”充分利用了Java的优势,构建了一个高效、灵活的多协议通讯解决方案。 首先,异步非阻塞编程模型是现代高性能网络应用的核心。传统的同步阻塞模型在处理高并发时容易...