阅读篇 程序员修炼之道(从小工到专家)(1)——目录 第一章注重实效的哲学我的源码让猫吃了软件的熵石头汤与煮青蛙足够好的软件你的知识资产交流第二章注重实效的途径复古的危害正交性可撤销性曳光弹原型与便笺领域语言估算第三章基本工具纯文本的威力shell游戏强力编辑源码控制调试文本操纵代码生成器第四章注重实效的偏执按合约设计死程序不说谎断言式编程何时使用异常
阅读篇 重构:改善既有代码的设计(11)-处理概括关系 有一批重构手法专门用来处理类的概括关系(generalization,即继承关系),其中主要是将函数上下移动于继承体系之中。PullUpField(320)和PullUpMethar(322)都用于将特性向继承体系的上端移动,PushDownMethod(328)和PushDownField(3
阅读篇 重构:改善既有代码的设计(10)-简化函数调用 在对象技术中,最重要的概念莫过于"接口"(interface)。容易被理解和被使用的接口,是开发良好面向对象软件的关键。本章将介绍几个使接口变得更简洁易用的重构手法。 最简单也最重要的一件事就是修改函数名称。名称是程序写作者与阅读者交流的关键工具。只要你能理解一段程序的功能
阅读篇 重构:改善既有代码的设计(9)-简化条件表达式 条件逻辑有可能十分复杂,因此本章提供一些重构手法,专门用来简化它下们。其中一项核心重构就是DecomposeConditinal(238),可将一个复杂的条件逻辑分成若干小块。这项重构很重要,因为它使得"分支逻辑"和"操作细节"分离。 本章的其余重构手
阅读篇 重构:改善既有代码的设计(8)-重新组织数据 本章将介绍几个能让你更轻松处理数据的重构手法。很多人或许会认为SelfEncapsulateFild(171)有点多余,但是关于"对象应该直接访问其中的数据,抑或应该通过访问函数来访问"这一问题,争论的声音从来不曾停止。有时候你确实需要访问函数,此时就可以通过SelfEnca
阅读篇 重构:改善既有代码的设计(1)-重构,第一个案例 懒惰是程序员的美德之一,绝不要因为这本书让你变得勤快什么是重构(refactoring)所谓重构是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,已改进程序的内部结构.1.1起点如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,是特性的添加比较
阅读篇 人件(1)-第 1 章 在今天的某个地方,一个项目正在失败 第一部分:管理人力资源 我们绝大多数经理倾向于一种特别的失败:一种仿佛把人当作模块组件来管理的倾向。这种倾向的起源很明显。考虑到我们为管理任务所做的准备:我们被认定是很好的管理人才,因为作为技术人员或开发人员,我们在实干中表现良好。这与我们经常将资源组织成模块单元有关,这些模块单元如软件例程,电路