这篇文章是一篇对著名软件工程师、作家和讲师“Uncle Bob”——Robert C. Martin 的采访。
在采访中,Uncle Bob 提出了很多有关开发的观点。
- 敏捷开发的贡献:Uncle Bob 认为敏捷的核心价值在于短周期生产和快速反馈,这种理念早在50年代就已经被提出。
- 代码整洁的速度优势:他指出,越想快速前进,代码就必须越整洁,整洁的代码让开发更高效。
- TDD 与调试的关系:Uncle Bob 强调 TDD 通过减少调试时间提高开发效率,并认为未重视测试的团队在长期会变慢。
- 人工智能的局限性:对于使用 AI 进行测试,他认为 AI 会重复程序员的错误,不应代替人类的判断。
- SOLID 原则在现代依然有效:尽管技术如微服务发展迅速,Uncle Bob 认为 SOLID 原则依然适用于现代系统。
- 软件教育的改进建议:他建议引入类似医生的学徒制度,以提高新手程序员的技能。
- 硬件发展瓶颈的影响:Uncle Bob 认为摩尔定律终结后,硬件进步放缓,导致软件行业进入发展瓶颈期。
- Uncle Bob 的职业起点:他从 12 岁接触编程,认为编程是毕生的事业,希望能一直写代码直到去世。
- 敏捷开发被误解的风险:他警告企业,敏捷开发常常被误解和滥用,导致企业对其失去信心。
- 对全球开发者的建议:他鼓励全球开发者保持代码整洁,关注细节,并通过学习不断提升自己。
原文中还有一些有趣的细节,比如 Uncle Bob 分享了他如何在 12 岁时,通过一台小型塑料计算机“Digi-Comp I”开始编写他的第一个程序。那台机器有三个比特位,通过金属杆和塑料管控制逻辑门的开关。编程的乐趣从此让他着迷,他笑称那一刻就决定了自己一生的事业。而“Uncle Bob”这个昵称也是在 80 年代末无意间得来的。当时一位同事随意称呼他“Uncle Bob”,这一称号迅速被流传开来,他也欣然接受。
他还提到,目前大多数年轻程序员并没有深入学习设计模式、UML 等传统开发知识。他对此并不感到意外,因为全球程序员数量每五年就会翻一番,意味着有一半的程序员经验不足五年。因此,这种现象源于行业中新手涌入速度过快,而不是“软件科学的退化”。
最后,他提到代码整洁不仅是提高工作效率的关键,也是维护长期产品质量的核心。无论是敏捷开发、TDD,还是代码整洁之道,Uncle Bob 强调的一点始终未变——做快的唯一方法,就是做好。
Uncle Bob:“我在十二岁时就爱上了编程,并且从未回头。我想一直写代码直到我去世。”