zoukankan      html  css  js  c++  java
  • 站在巨人的肩膀上 读书

    站在巨人的肩膀上
    FROM:思归呓语
    看到博客园在轰轰烈烈地讨论程序员的基础/基本功问题,正好在devlicio.us上看到Billy McCafferty撰写的《站在巨人的肩膀上》一文,推荐一下: Standing on the Shoulders of Giants http://devlicio.us/blogs/billy_mccafferty/archive/2007/11/12/standing-on-the-shoulders-of-giants.aspx
    文中说到,随着这个世界越来越依赖我们的实践,作为计算机行业的从业人员,对计算机行业的 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
    收藏整理:by Justin
  • 相关阅读:
    $this是什么意思-成员变量和局部变量的调用
    神经网络 ML08 c-d-e
    机器学习笔记 ML01c
    虚函数
    C++有哪几种情况只能用初始化列表,而不能用赋值?
    C++ 的 I/O
    引用
    宏定义 #define 和常量 const 的区别
    怎么设置才能让外网ip可以访问mysql数据库[转]
    大师的框架面试总结[转]
  • 原文地址:https://www.cnblogs.com/carl2380/p/1956189.html
Copyright © 2011-2022 走看看