天天看点

Martin Fowler是“重构之父“ 吗

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

Martin Fowler是“重构之父“ 吗

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

Martin Fowler是“重构之父“ 吗

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

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

回答:

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

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

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

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

我可以接受的论调是:

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

或者退一步

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

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

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

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

可以看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年代末各自发明了重构。

Martin Fowler是“重构之父“ 吗
Martin Fowler是“重构之父“ 吗

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

Martin Fowler是“重构之父“ 吗

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

Martin Fowler是“重构之父“ 吗

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

Martin Fowler是“重构之父“ 吗