第1章自测题 Part3
7 [多选题]
经常被当作“偷懒庇护所”的说辞有:
A) 软件开发是艺术,艺术是没有道理可讲的
B) 我们敏捷了
C) 建模带来竞争优势
D) 不管用什么方法,把项目做成功就是好方法
答案和解析
答案为ABD,参见第一章内容。
8 [单选题]
以下软件开发名人中,和前央视主持人小崔(崔永元)同龄的是:
A) Martin Fowler
B) Kent Beck
C) Ivar Jacobson
D) Peter Coad
E) James Rumbaugh
F) Grady Booch
答案和解析
崔永元生于1963年2月20日。
A) 正确选项。
Martin Fowler生于1963年12月18日。
B) 错误选项。
Kent Beck生于1961年。
C) 错误选项。
Ivar Jacobson生于1939年9月2日。
D) 错误选项。
Peter Coad生于1953年12月30日。
E) 错误选项。
James Rumbaugh生于1947年8月22日。
F) 错误选项。
Grady Booch生于1955年2月27日。
彩蛋
不止一个人问过我,出这道题目的意义是什么?是Martin Fowler的年龄。
这道题在2013年的《软件方法(上)》第1版就有了,当时的题目是这样的:
图1 《软件方法(上)》第1版截图
距这道题诞生大约5-6年前,有一件事让我印象深刻。Martin Fowler的一位中国同事在搞宣传时,盛赞Martin Fowler,说马大叔这么大年纪了,还是那么活力四射,可是当时Fowler还不到45岁。
也许是Fowler留的胡子重一些,就被说成“这么大年纪”吧,要是那位同学看到哈登,可能就会说,哈大叔这一大把年纪还驰骋NBA。
图2 哈登和Martin Fowler,Fowler的图片摘自2000年5月的martinfowler.com
如果是偶尔口误也就罢了,要是有意无意地把Martin Fowler刻画成“德高望重的老科学家”的形象,那就不好了。
下面几个关于Martin Fowler的描述放出去,可能不少人会在后面全部打勾:
*年纪比刘德华大 □
*软件开发教父 □
*重构之父 □
*创新无数 □
在Bing搜索引擎搜索“martin fowler”,出来的第一项就是:
图3 bing.com搜索结果(2022年8月27日)
可惜,这些都是一些人有意无意、经年累月营造出来的“中国版Martin Fowler”的形象。虽然随着时间流逝,Fowler也快59岁了,慢慢要配得上“老科学家”的形象了,但这些吹嘘至少十五年前就已经开始了。
**********
如果某位普通读者出于崇拜狂吹Martin Fowler,并给他上各种尊号,这是读者的自由。
如果这些夸大来自Martin Fowler所在公司的同事,或者出版Martin Fowler的书的出版社编辑,那就不应该了。
如果是因无知而夸大,那事先本应该做好功课,如果是有意夸大,那……。
Fowler的书和文章,用语还是相当严谨的,风格也比较低调,光是这一点就已经比国内外的敏捷、DDD圈子的大多数“名人”要强。
相比之下,一些相关人士就没那么严谨了,乱上尊号。这种有意无意的造神,反而会损害Fowler的形象,相信这也不是Fowler乐意看到的。
如果进一步波及到公司的形象,那就更不好了。
说到“狼性文化”,您会首先想到哪家公司?
说到“996”,您会首先想到哪家公司?
当说到“造词”、“夸大”时,会不会让人首先想到某家公司?
现在“狼性文化”和“996”已经像蒲公英一样,随着从公司“毕业”的人群飘洒向神州大地,不希望“造词”、“夸大”等风气也一样随着从公司“毕业”的人群四处飘洒。
**********
除了前面内容已经提到的“教父”、“敏捷”、“微服务”,我再列出一些知识点,以供读者在碰到相应的夸大宣传时辨别:
☆Fowler不是“重构之父”(我写过文章《Martin Fowler是"重构之父"吗》)。
☆Fowler没赶上UML之前的那一波面向对象方法学浪潮,他的第一本书《分析模式》出版于1996年。
☆也许和个人性格特点有关,Fowler并没有提出什么方法学或符号体系。这是好事。
☆《分析模式》里的符号不是Fowler发明的。
这个地方多说几句:这个俗称“鸦脚(Crow's Foot)”的表示法最开始叫Barker表示法,是Richard Barker等人1981年在CACI公司开发的,作为SSADM方法学(结构化系统分析和设计方法学)表示法的一部分。后来Barker加入了Oracle,这个表示法被Oracle接纳。
以下是1988年的一篇论文的截屏,上面的表示法就是“鸦脚”:
图4 摘自Structured systems analysis and design method (SSADM), Caroline M Ashworth, 1988
**********
在国内软件界,我和Martin Fowler打交道应该算是很早了,2002年1月,我就邀请他到UMLChina聊天室做了一次交流,交流实录在:https://mp.weixin.qq.com/s/IJnRQhQkx-cPa1ysQCMePQ
图5 2002年1月Martin Fowler交流的聊天室截屏
交流实录的翻译在这里:
http://umlchina.com/xprogrammer/XProgrammer10.pdf
图6 《非程序员》电子杂志截屏
后来,UMLChina还参与了Fowler的《企业应用架构模式》和《UML精粹》中译本的工作。
**********
最后,马大叔不姓马,他姓福。
图7 2012年央视节目截屏
9月12-16晚网课[改为19:30上课*5天]:软件需求设计方法学全程实例剖析
[改为19:30上课*5天]8月31-9月4日晚剔除伪创新的领域驱动设计-网络公开课
[新增EA027智慧公寓系统]25套UML+EA和StarUML的建模示范视频-全程字幕(2022.7.25更新)
《软件方法》书中自测题-题目全文+分卷自测(1-8章)16套111题
CTO也糊涂的常用术语:功能模块、业务架构、用户需求……[20210217更新]
作者微信:umlchina2