Robert C. Martin,世界级编程大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。

12岁开始写代码终成世界级编程大师

Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。著有《代码整洁之道》《代码整洁之道:程序员的职业素养》《敏捷软件开发:原则、模式和实践》《UML:Java程序员指南》等。

著名的对象范型和C++专家考帕里安(James O. Coplien)曾这样评价Bob大叔:

那班求索者多年来并肩奋斗,不但是为求一己之进步,更将他们的知识通过和你手上正在做的事一般的工作奉献给这个行业,使得编程世界略有改善。

天才少年Bob的成长之路

1964年,12岁的Bob写下人生第一行代码。

1965年,Bob开启了人生中算得上专业的第一次合作,与小搭档John Marchese一起造电脑,Bob思考,John动手,两个人忙活了数百个小时,捣鼓出了不少看着相当有型的家伙,上面装着继电器、按钮、小灯,甚至还安装了一个电传打字机!虽然这些电脑没法用,但是看起来真的很棒,他们也确实很用心,这对于两个13岁的小朋友来说,相当了不起了!

电动打字机

1968年,在中学第一年认识了新的小伙伴Tim Conrad,开始了新一轮的造电脑工程,这次由Tim思考,Bob动手,Tim还教给了Bob一些电子学知识,Tim也是第一个给Bob介绍PDP-8的人。他们用了一些很基础的元器件,真的造出了一台可以工作的18位二进制计算器,能够进行加减乘除的运算,他们兴奋极了,那年他们把所有的假期都投了进去。

后来,他们还自学了计算机课程,在那个年代,这是一个相当不容易的事情,但他们做到了。他们特别找来了有关PDP-8汇编器、FORTRAN、COBOL、PL/1,他们就像海绵一般在书中汲取知识,并写了一堆根本根本没有可能去实际执行的程序,因为那时根本没有计算机可以供实操,但纯粹出于爱好,他们仍然孜孜不倦写了许多程序。

12岁开始写代码终成世界级编程大师-PDP-8汇编器

1969年,Tim、Bob以及他们的伙伴Richard Lloyd成为了ACS公司的程序员,为芝加哥卡车司机工会开发实时会计系统。17岁的他们觉得上大学是浪费时间,决定马上进入职场,在那里他们遇到了Bill Hohri、Frank Ryder、Big Carlin和John Miller,他们为这些年轻人提供了学习专业编程的实战机会,Bob在其中颇受教益。

在Bob的学生时代、职业生涯中,直接导师并不多,因为他的成长的年代中并没有很多有经验的老师、程序员。Bob在工作项目的摸索及读一些杰出人物的著作来汲取知识、积累经验,这些人包括Grady Booch(《UML用户指南》作者), Tom DeMarco(《项目百态》作者), Meilir Page-Jones(《UML 面向对象设计基础》作者), Erich Gamma(《设计模式》作者), Martin Fowler(《重构》作者), Bertrand Meyer(《面向对象软件构造》作者), Kent Beck(《测试驱动开发》作者),等等。Bob感觉这些教导都是充满价值的。

随后Bob在Teradyne工作,他从老板、工作伙伴们的身上学到了许多他认为有价值的东西,特别是Mike Carew,他们成为了黄金搭档,“如果你想活儿干得又快又好,就把他交给Bob和Mike!“他们共事的时光充满欢乐。

糟糕的代码能让一个公司关门大吉!

在一个项目中,某位同事花三个星期写完一串代码后离职了,在没有批注、没有规律的情况下,果然没有人能够理解这串代码,最终只能由新的同事重新撰写。这段经历让他从此对代码的整洁深感重视。

1987年,Bob开始和Jim Newkirk搭档,随后他们相继离开Teradyne,加入了Clear Communication。

于此同时,有家公司写了一个很流行的杀手应用,许多专业人士都买来用,包括Bob。然后,发布周期开始拉长,缺陷总是不能修复,装载时间越来越久,崩溃的概率也越来越大,至今Bob还记得自己在某天沮丧地关掉那个程序,从此再不用它时的绝望心情。果不其然,在那之后不久,该公司就关门大吉了。

后来,Bob见到那家公司的一位早期雇员,问他发生了什么事,而他的回答令Bob愈发恐惧起来。原来,当时他们赶着推出产品,代码写得乱七八糟,特性越加越多,代码也越来越烂,最后再也没法管理这些代码了,只好放着不管,最终,糟糕的代码毁了这家公司。这个事情更是让Bob确定了代码的整洁是需要引起重视的,软件质量,不但依赖架构及项目管理,而且与代码质量紧密相关,但当时的他并没有能力来改变这一切。

Bob和Jim一起在Clear Communication拼搏了好几年后,共同创办了Object Mentor公司,Bob认为,在他有幸共事过的人中,Jim是最率直、最严谨和最专注的人,从Jim身上获益良多。

直到现在,Bob仍坚持阅读这一习惯,每天花费大量的时间阅读,甚至包括博客和文章,从中紧跟科技发展。他曾坦言自己一直都在寻找值得一读的好书。