Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » 科技英语
打印话题 寄给朋友 订阅主题 |
作者 | “重构”的词源学探索 |
yuhuang
CJSDN高级会员 发贴: 212 |
于 2004-01-14 12:49
第一次在纸媒体上使用“重构”这个词,是在2001年底。我还记得2001年12月的《程序员》杂志,黑色的封面,技术专题的名字就叫“代码重构”。在那之前,refactoring这个词并没有一个统一的翻译,曾被用过的译词包括重整、重组、重构……等等。自从《程序员》的技术专题和potian的系列文章介绍重构技术之后,refactoring的中文译词基本上就定为“重构”。两年多的时间过去,这个译词应该说是得到了读者的认可,并没有受到太多的置疑,这多半也是因为此前并没有一个统一的标准。 但是在我心里其实一直有个淡淡的隐忧:“重构”这个词显然是受到了西方文论一以贯之的影响。在那篇《重构之维》中我曾经提到,中国第一次使用这个词是翻译哈贝马斯的“reconstruction”,而reconstruction的德文原词应该是“nachkonstruktion”——后构。也就是说,“重构”这个汉语词汇的诞生就多少伴随着一点误会。那么,在Martin Fowler这里,“重构”是否能够非常准确地代表refactoring的意涵?这是我一直担心着的。 2003年9月10日,Martin Fowler的weblog:“重构的词源学探索”(Etymology Of Refactoring)。按照Fowler原本的理解,“refactoring”出自数学中的“因式分解”(factoring):通过因式分解,你可以让算术式更容易理解,而不改变其结果;通过refactoring,你也可以让代码更容易理解,而不改变其行为。其实我很喜欢Fowler的这个观点。如果把因式分解看作对算术式的一次重新构造,“重构”这个译词也还算差强人意。 但是在那篇weblog中,Martin Fowler提到:最初提出重构理论的William Opdyke其实并不是这么想的。这个故事要追溯到Opdyke在伊利诺斯大学时与他的导师Ralph Johnson(GoF之一)的一次交谈,当时他们谈到了时下流行的“软件工厂”(software factory)。在他们看来,软件开发超越了制造业,更类似于传统工业中的设计过程。因此对于他们正在研究的理论,他们也想用一个词来超越“软件工厂”。于是,他们选择了一个富有后现代风格的词汇:software refactory。 这就是“refactoring”真正的词源:对软件的渐进式设计,对软件工厂的嘲讽和超越。不得不承认,用“重构”来代表这个词也只能是一个误会。不过,考虑到后现代主义者在reconstruction口号之下对工业化和现代性的反动,我倒觉得我们的“重构”多少算得一个美丽的(或者说,歪打正着的)误会。 摘自:http://www.china-pub.com/computers/bbs/addfollow.asp?id=26289&rootid=2&boardid=1 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |