主页

索引

模块索引

搜索页面

经典书

IT Core

  • TCPL:《C 程序设计语言》

  • CPPP:《C++ Primer》

  • SICP:《计算机程序的构造和解释》

  • MOS:《现代操作系统》

  • CAAQA:《计算机体系结构-量化研究方法》

  • GOF:《设计模式:可复用面向对象软件的基础》

  • CLRS:《算法导论》

  • TAOCP:《计算机程序设计艺术》

  • apue

  • tcp/ip

CSAPP:深入理解计算机系统

编译原理

  • 鲸书(Advanced Compiler Design and Implementation)

  • 龙书(Compilers Principles, Techniques and Tools

组成原理

  • 《深入理解计算机系统》(第 3 版)

  • 《计算机组成与设计:软 / 硬件接口》(第 5 版)

IT 设计

  • Martin Fowler 的《重构》

  • Kent Beck 的《测试驱动开发》,还有一本《测试驱动的面向对象软件开发》 (Growing Object-Oriented Software, Guided by Tests)

  • 《程序设计实践》(The Practice of Programming)作者是 Brian Kernighan 和 Rob Pike

  • 《Unix 编程环境》

  • 《Unix 编程艺术》Eric Raymond 这样沉浸编程几十年的人写出的作品

  • Michael Feathers 的《修改代码的艺术》(Working Effectively with Legacy Code)

  • 《重构》《设计模式》《重构与模式》

  • 《重构:改善代码的既有设计》

  • Robert Martin 的《敏捷软件开发:原则、实践与模式》

  • Robert Martin 的《代码整洁之道》(Clean Code)

  • 《解析极限编程》(Extreme Programming Explained):

    Kent Beck 那本知名的软件工程之作
    
    当年他写作之时,许多人都在努力探寻瀑布开发方法之外的软件工程方法,
    除了极限编程,还有特征驱动开发、水晶开发方法等等,
    正是这些开发方法的探索,才有了后面敏捷方法的诞生。
    
    极限编程对于行业最大的贡献在于,它引入了大量的实践,
    比如,前面提到过的持续集成、这里提到的 TDD,还有诸如结对编程、现场客户等等。
    
    极限编程之所以叫“极限”,它背后的理念就是把好的实践推向极限。
    1. 如果集成是好的,我们就尽早集成,推向极限每一次修改都集成,这就是持续集成。
    2. 如果开发者测试是好的,我们就尽早测试,推向极限就是先写测试,再根据测试调整代码,这就是测试驱动开发。
    3. 如果代码评审是好的,我们就多做评审,推向极限就是随时随地地代码评审,这就是结对编程。
    4. 如果客户交流是好的,我们就和客户多交流,推向极限就是客户与开发团队时时刻刻在一起,这就是现场客户。
    
  • “程序员修炼之道⸺从小工到专家:

    书里覆盖了一名程序员真正面临的一些问题,比如:
    与软件腐烂作斗争
    避开重复知识的陷阱
    编写灵活、动态、可适应的代码
    使你的代码 “防弹”
    捕捉真正的需求
    无情而有效的测试
    无处不在的自动化
    

管理

  • 德鲁克:管理的实践⸺管理的总纲

  • 德鲁克-卓有成效的管理者

  • “管理学大师彼得 · 德鲁克写过一篇著名的文章,叫《自我管理”

  • 德鲁克-《个人的管理》

主页

索引

模块索引

搜索页面