值得关注的一件有趣的事情是,高调的重写正在苦苦挣扎——通常,有些使用模式依赖于开发人员做出的非决策。当重写软件并遇到定义不明确的行为时,通常会做出正确的冲动,做出符合某种事物应如何运作的逻辑的决定,以便它们是可预测的和一致的。
问题是,可预测性和一致性以前就存在过——只是偶然。现在您开始了解到您的应用程序心智模型(作为开发人员)与您的用户不同,但是您无法捕获事物在“未定义”状态下的工作方式。从本质上讲,它是一种反设计。
软件变更管理的很大一部分涉及清楚应用程序如何对域进行建模。我们如何看待这些概念?我们如何教导人们适当的量来引导他们进入“成功的深渊”。最好是,我们如何让应用程序的使用“感觉正确”,而不必做大量的工作来表达我们的意图和设计?
所有领域模型都是错误的,这就是我们的挑战。
原文: https://json.blog/2024/09/24/thinking-about-software.html