@mattpocockuk:“几乎每个软件开发组织都至少有一位开发者,将战术性编程推向极致…
摘要
Matt Pocock 分享了约翰·奥斯特豪特的《软件设计哲学》中的一段引文,谈到那些被称为“战术龙卷风”的开发者:他们写代码很快,却留下一堆烂摊子让别人收拾,并问这种情况是否似曾相识。
查看缓存全文
缓存时间: 2026/10/10 18:54
“几乎每个软件开发组织都至少有一位将战术式编程推向极端的开发者:战术龙卷风。战术龙卷风是一位高产的程序员,写代码的速度远超他人,但工作方式完全是战术式的。[…] 在一些组织中,管理层将战术龙卷风视为英雄。
“然而,战术龙卷风所到之处会留下一片狼藉。对于日后必须维护他们代码的工程师来说,他们很少被视为英雄。通常,其他工程师必须收拾战术龙卷风留下的烂摊子,这使得那些工程师(真正的英雄)看起来进展更慢。”
@JohnOusterhout,《软件设计哲学》,2018年
听起来很熟悉吗?
相似文章
@mattpocockuk: 战术编程与战略编程,以及为什么我为初级开发者感到担忧:好的编程需要同时运用战术和战略…
Matt Pocock探讨了AI代理如何吸收了战术编程任务,将开发者的工作转变为纯粹的战略思考,并提出了当入门级战术工作消失后如何培训初级开发者的担忧。
@mattpocockuk: 少一些“让我写测试来捕捉下次出现的错误” 多一些“让我通过更好的设计让这类错误不可能发生…”
马特·波科克分享了开发者哲学:与其编写测试来捕捉下一次出现的错误,不如通过更好的设计让这类错误变得不可能。
@mattpocockuk: 我越是用原型取代计划,产出就越好。谁会想到低保真原型更…
Matt Pocock 认为,用低保真原型取代计划会产生更好的结果,这与软件开发中详细规格说明的趋势相反。
@mattpocockuk: 一句话概括,"让坏代码无法被表达"。
Matt Pocock 认为,在 AI 编程时代,开发者应当拥抱更多抽象,同时结合严格的 lint 规则,以此来约束 AI 代理,使其只做出良好的设计决策。
@mattpocockuk: "我同意软件基础很重要。但哪些基础?以什么顺序?"我的答案:
Matt Pocock 分享了他优先考虑的基本软件基础列表,强调学习阅读代码、使用终端、通过类型和测试防止错误、为更好的测试构建应用,以及应用 DDD 中的通用语言。