Martin Fowler是"重构之父" 吗

潘加宇 [2019/7/15]

某公司宣传该公司的Martin Fowler为"重构之父"。

1037.png

其实Fowler本人对此说法已经表过态了。在《Refactoring: Ruby Edition》的Preface中,Fowler就说:

1038.png

我专门写文章说此事,目的是要批评春节期间我质疑了"重构之父"的宣传之后看到一种论调:

这么较真有意思吗,Fowler对重构的推广贡献巨大,是不是"重构之父"重要吗?

回答:

既然不重要,那干嘛还在宣传语里写"重构之父"呢?

当年方舟子质疑唐骏的学历造假,也有人洗地"学历重要吗"

——既然不重要,你造假学历干嘛?

不批评始作俑者,反而来批评质疑者,这个三观正确吗?

我可以接受的论调是:

(1)对不起,我们不清楚重构的历史,误以为Fowler是"重构之父",写错了。

或者退一步

(2) 对不起,我们确实知道Fowler不是"重构之父",但是为了宣传目的,决定这样说。很多公司都这样做,还望理解一二。

论调(1)(2)和我开始列出的那种论调是有很大区别的。

**************

去年,我受邀做了一个推荐。我实事求是写了一小段话。前两天也发现,某机构也精妙地把我这一小段话给修改了。

原话如下:

1039.png

宣传语如下:

1040.png

修改过的意思和我的原意有很大差别。看来以后我对这些来源的内容真的要"反复阅读"了。

**************

说了那么多,那谁是"重构之父"呢?

可以看IEEE2015年的文章《The Birth of Refactoring: A Retrospective on the Nature of High-Impact Software Engineering Research》(https://ieeexplore.ieee.org/document/7274256/,下载需要账号)。文章的两位作者Bill Opdyke和Bill Griswold在上世纪80年代末各自发明了重构。

1041.png
1042.png

提到的两篇论文下载地址如下:

1043.png

https://cseweb.ucsd.edu/~wgg/Abstracts/gristhesis.pdf

1044.png

http://laputan.org/pub/papers/opdyke-thesis.pdf

weixinpanjiayu2.jpg