5.1 重构的记录格式 名称 简要 动机 做法 范例 5.2 寻找引用点 反射机制引用点需要文本查找方式 5.3 这些重构手法有多成熟 基本技巧-小步前进,频繁测试
进行重构,首要前提就是拥有一个可靠的测试环境.编写优良的测试程序,可以极大提高编程速度,以下做解释。 4.1 自测试代码的价值 开发时间消耗内容: 决策 设计 开发 调试 有人说:类应该包含自己的测试代码 确保所有测试都完全自动化,然他们检查自己的测试结果 一套测试就是一个强大的bug探测器,能够打
3.1 Duplicated Code(重复代码) 坏味道行列中首当其冲的就是Duplicated Code.用Template Method 设计模式 将相似和差异分开 3.2 Long Method (过长函数) 间接层所能带来的全部利益 解释能力 共享能力 选择能力 都是由小型函数支持的 哪怕
何谓重构 重构(名词): 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本. 重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整期结构 性能优化与重构的对比:性能优化(时间,空间)往往使代码较难理解 重构与添加新功能交叉工作. 重构改
懒惰是程序员的美德之一,绝不要因为这本书让你变得勤快 什么是重构(refactoring) 所谓重构是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,已改进程序的内部结构. 1.1 起点 如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,是特性
在这最后一章里,我们谈谈伟大的经理们所应尽力做的:社区的形成。对社区的需求是一种建立在人类天性里的某种事物: 我们时代的复杂真理是我们大多数的城镇不再满足这种需求。相反在工作地区我们有最好的机会发现社区。如果在那里可以发现社区... 社团政治学的脱轨 亚里斯多德把五种相互联系的、一起组成哲学
那个最后的管理罪行是浪费人的时间。听起来应该是一个容易避免的罪行,但是不是。作为一个经理你有一些自己的需求,并且这些需求与你想保留和宽松地使用你手下的时间的意愿正好相反。 例如 你召集你的人员开会,而你却迟到了(因为你接了老板打来的紧急电话),其他人一直等着你。你允许自己被人叫出去与客户进行
我们都明白,被人接受的学习与不被人接受的学习之间的差别是至关重要的,因为不学习的公司不能期望不通过学习这一重要的改进机制就能长盛不衰。 经验和学习 如果一个公司使它自己转向去考虑经验所展示出的东西,经验就变成了学习。这种改变有以下两种不同的形式,我们分别加以讨论: 公司逐渐向它的员工灌输新技艺新
一笔费用是一笔用完了的钱。在月底,钱用完了,取暖费就是这样(或者无论这笔费用干什么用的)。另一方面,一笔投资是用一种资产去买另外一种资产。价值没有被用完,只是从一种形式转换成为另外一种形式。如果你把一笔支出看成一笔投资而不是一笔费用的话,也就是就说你在将支出资本化。 有关人的费用怎么办? 那谁在
人们讨厌改变…… 而且那是因为人们憎恨改变…… 我想肯定你同意我的观点. 人们真的讨厌改变。 他们真的,真的讨厌改变。 ——史蒂夫·麦克米纳明(Steve McMenamin) 大西洋系统行业协会 伦敦(1996 年) 现在,一些来自另一个著名系统咨询顾问的话... 那是因为人们