《Working Effectively With Legacy Code》译序
来源:互联网 发布:淘宝网首页说明文字 编辑:程序博客网 时间:2024/06/01 21:44
修改代码之三十六计
by 刘未鹏
六六三十六,数中有术,术中有数。阴阳燮理,机在其中。机不可设,设则不中。
—— 《三十六计》
一本好的技术书籍一般有两种情况,一是介绍一些新奇而有趣的技术,二是能将现有的技术阐述或概括得通透淋漓。然而其实还有第三种——既非介绍新奇的技术,也非阐述既有技术。而是将大量被长期实践所证明了的各种技术手法囊括至一起,看来琳琅满目五花八门,但又各有各的用武之地。这样的书一般较少见,因为需要长期的积累和时间的洗礼。
本书正是这样一本书。
说实话,对于这样一本由“鲍勃大叔”亲自作序,Amazon上书评篇篇都是五星加夸赞的书,我这个译者反倒有点遑于置评了。要想知道这本书为什么填补了一项重要的空白(在Kent Beck的《测试驱动开发》、Martin Fowler的《重构:改善既有代码的设计》、Robert C. Martin的《敏捷软件开发:原则、模式与实践》等重磅炸弹投下之后),可以看Michael Feathers的前言。要想知道这本书为什么值得你放在书架上,可以看鲍勃大叔的序。要想知道读者怎么认为,可以看Amazon上的书评。
所以,与其画蛇添足,不如随手摘来Amazon上的一些书评片段:
“大多数软件开发方面的书籍都是关于原生开发的:教你如何从无到有创建出一个新的应用来。然而实际情况却是,真正身处业界往往大部分时候面对的却是既有代码:添加特性、寻找bug,以及重构别人写的代码。因此书籍跟实践这两个世界就产生了不平衡,而本书正是在平衡这两个世界上迈出了漂亮的一步。”
“Feathers用简洁清晰的代码示例漂亮地阐述了我们面对的各种问题场景…书中的代码示例跟我在实际工作中常常遇到的那些问题代码非常相近…”
“总的来说,这本书写得非常漂亮,将一个以前很少被涉及但很重要的主题作了极好的阐述。”
“我想在接下来的几年中我都会时常把这本书从书架上拿下来翻阅。”
那么,请带上这只妙计锦囊吧,enjoy!
最后,感谢刘江编辑容忍我一而再的拖稿,让我得以在繁忙的一年仍能够认真译完这本好书。感谢父母一直以来的支持和鼓励。
刘未鹏
07年2月
于 南京
- 《Working Effectively With Legacy Code》译序
- 《Working Effectively With Legacy Code》译序
- 《Working Effectively With Legacy Code》译序
- 《Working Effectively With Legacy Code》译序
- 《Working Effectively With Legacy Code》译序
- Working Effectively with Legacy Code
- Working Effectively With iTerm2
- Working with windows in chrome code
- Working With Code Snippets In Sublime Text
- Effectively Using Git With Subversion
- Use of Legacy Source Code
- 关于legacy code学习笔记
- 学习笔记:Legacy code refactor
- Effectively Customizing Online Pages with PeopleCode
- OpenOffice.org Code Snippets--Working with a Presentation Document in C++
- 翻译 在chrome代码中操作窗口 Working with windows in chrome code
- Android: Simplified source code for parsing and working with XML data and web services in Android
- Working with XML nodes
- Beautiful Proof - Data-Race-Free Implies Sequential Consistency铪铪
- 实例解析C++/CLI之开篇
- 疯狂的老师
- 使用PHPExcel生成和读取Excel文件
- 菜鸟解fetion
- 《Working Effectively With Legacy Code》译序
- Intuition out of counter-intuition
- 链表的比较排序算法
- 使用jQuery form validation v1.0 的朋友们需要注意了
- 决定把BLOG的文章从CU上同步过来
- C++0x简讯
- 关于C++0x内存模型和序列点的一些思考
- How Does it End()?
- Track'em Down铪铪铪铪铪铪铪