详细内容或原文请订阅后点击阅览
意向债务
以下文章最初出现在 Addy Osmani 的博客网站上,经作者许可在此重新发布。技术债务存在于您的代码中。认知债务存在于你的头脑中。意图债务存在于您可能从未编写过的工件中:目标、约束以及系统为何如此的基本原理 [...]
来源:O'Reilly Media _AI & ML以下文章最初出现在 Addy Osmani 的博客网站上,经作者许可在此重新发布。
技术债务存在于您的代码中。认知债务存在于你的头脑中。意图债务存在于您可能从未编写过的工件中:目标、约束以及系统为何如此的基本原理。如果幸运的话,其中一些内容分散在团队文档或讨论中,但可能不完整。这是您的代理人无法为您偿还的一种债务,而代理工程使其成为最昂贵的债务。
____________________________
债务可以存在的三个地方
玛格丽特-安妮·斯托里 (Margaret-Anne Storey) 的三重债务模型是思考软件健康状况的一种简洁方式。债务的三种模型是技术型、认知型和意图型。
技术债务存在于代码中。它是实现选择的累积,使系统以后更难以更改:纠结的模块、在截止日期前采取的捷径、泄漏的抽象。几十年来,我们已经了解这一点。你会感觉到它经历了缓慢的构建、脆弱的测试以及对触及某个特定文件的恐惧。
认知债务存在于人们之中。它是共同理解的侵蚀,存在的代码数量与人类理解的数量之间的差距。我一直把这种理解债称为“理解债”。当系统的增长速度快于团队的心理模型时,它就会形成。你的代码可以是原始的,但你仍然可能背负严重的认知债务,因为也没有人理解原始的代码。
意图债务存在于人工产物中。正是外部化原理、目标和约束的缺失或侵蚀才解释了系统为何是现在这个样子。关键词是外化的。理由必须写下来,让队友、未来的你或经纪人可以读到,而不是记在脑子里。当意图债务很高时,系统就会偏离你的初衷,没有人能说出它何时偏离或为何偏离。
