好的,我已经遇到过很多次了,但是在这种情况下,情况有些过分夸大了。
客户说: “嘿,您能给我们这个小模块来完成这个小任务吗?”
我: “没问题”。
因此,基于预算和约束等因素,我跳过了一些架构设计工作,并一头扎进去,不费吹灰之力。
然后,他们要求另一个模块。还有一个。和一些增强。多年来,这一切都非常缓慢地提醒您。在不知不觉中,您就拥有了这个可怕的架构可怕的应用程序。
当您被要求做一些小事情时,您会怎么做?您不知道它是否会继续增长...客户是否会继续要求添加(它们也不这样做)。
您不能对它进行过度的架构,因为它毕竟只是一个小应用程序,如果您说(因为我知道所有声音),它们就会移到其他地方“以防万一,让我们将此事物设计为顶层在线安全性和关注点分离。实际上,让我们使用一个依赖项注入工具,它将使这件事真是太棒了……等等。”
他们会说“是的”,然后去找别人。
预算,时间和感知与架构应用程序本身一样重要。
应该如何处理?
我猜这个问题真的可以归结为:“如果您没有所有看起来像是小型应用程序的最终结果的所有信息,那么如何避免(或减轻)早期的架构和设计决策将是完全可以的?以后没用?