要在改变代码的同时确保其他的部分没有被影响是一个很大的挑战,可能会有很大的风险。因此很多团队采取的办法就是:尽量减少改变。能不改变的就不改变!
If
it is not broke, don't fix it. 毕竟不是所有的人都了解所有的事情。
这种想法认为我们可以通过避免改变来减少软件的问题。但是,当我们避免创建新的类和方法的时候,原有的类和方法会变得越来越大,越来越难以理解。我们在做改变之前肯定会花费一定的时间来熟悉、了解我们要改变的部分。好的系统和不好的系统之间的差别就是:好的系统易于理解,并且你会很有信心去改变它。不好的系统让人犹豫不决。
避免改变还有另外一个后果,如果人们不是经常做改变代码的工作,他们会越来越不会做这种工作。
避免改变的最后一个后果是人们会越来越害怕改变。
那么我们有什么其他的选择呢?一个选择就是“努力的工作”,我们可以雇用更多的人,这样来保证每个人都有足够的时间可以进行改变代码的工作。这样每个人都可以有足够的时间来分析、仔细了解所有的代码。但是,并不是这样就能够保证改变是正确的。
另外的选择就是本书将要讲解的内容。
分享到:
相关推荐
Working Effectively With Legacy Code
In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned ...
☆ 说明如下:☆ 《修改代码的艺术》 《Working Effectively with Legacy Code》
世界级计算机专家Michael C. Feathers的经典之作,软件开发大师Robert C. Martin作序倾情推荐,修改遗留代码的指南。 深入剖析修改遗留代码的各种方法和策略,从理解遗留代码、为其编码测试、重构及增加特性等...
真正的修改代码艺术(英文版), 保证能看.
Working Effectively with Legacy Code(修改代码的艺术 英文原版)
修改代码是每一位软件开发人员的日常工作,开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基...
修改代码的艺术Working Effectively With Legacy Code
working.effectively.with.legacy.code.pdf Table of Contents Robert C. Martin Series 1 Foreword 1Preface 2.Acknowledgments 3.Introduction 5 How to Use This Book5 Part I: The Mechanics of Change 6 ...
working effectively with legacy code
修改代码的集大成之作. Amazon全五星图书.. 适用于各种语言或平台... 修改代码是每一位软件开发人员的日常工作。开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化...
中文文字版,重构代码的好书,比较有名,就不再多做介绍。
我们为什么要改变软件? 添加功能 - 添加一些行为,保持现有行为不变 修复错误 - 改变一些行为,保持其他行为不变 改进设计 - 更改代码结构,保持现有行为不变 优化资源使用 - 更改代码以提高资源使用率,保持现有...
3D TOUCHLESS FINGERPRINTS: COMPATIBILITY WITH LEGACY ROLLED IMAGES Fingerprints are traditionally captured based on contact of the finger on paper or a platen surface. This often results in partial or...
Perl Medic: Transforming Legacy Code By Peter J. Scott Pages : 336
官方的源文件,我只是搬运工 文件只是一个连接地址,不必下载,http://az717401.vo.msecnd.net/legacy/MDKCM524.EXE
pdf. by David Scott Bernstein
Working Effectively With Legacy Code by Michael Feathers
这项工作介绍了MatLab脚本中用于设计线性系统的方法及其使用Legacy代码工具进行simulink的块生成。 自动生成滤波器系数头文件。 下一个MATLAB脚本接收参数设计并生成DPS.H,其中包含用于DSP软件实现的滤波器系数。 ...