随着我越来越多地将敏捷思维吸收到我的工作方式中,yagni(“你不会需要它”)似乎变得越来越重要。在我看来,这似乎是过滤掉被误导的优先事项并决定下一步不做什么的最有效规则之一。
然而,yagni 似乎是一个在 SO 中几乎没有被提及的概念。我进行了强制性搜索,它只出现在一个问题标题中——然后是次要角色。
为什么是这样?我是否高估了它的重要性?
免责声明。为了抢占响应,我相信我会反对,让我强调一下 yagni 是quick-and-dirty 的对立面。它鼓励您将宝贵的时间和精力集中在获得您确实需要的零件上。
以下是人们可能会提出的一些热门问题。
我的单元测试是根据用户要求还是框架结构选择的?
我是否安装(并测试和维护)单元测试,因为它们脱离了框架?
有多少由我的框架生成的代码我从未看过(但总有一天可能会咬我,即使是 yagni)?
我花了多少时间在我的工具上而不是用户的问题上?
结对编程时,观察者的角色价值往往在于“yagni”。
你使用 CRUD 工具吗?它是否允许(不,鼓励)您将其用作 _RU_ 工具或 C__D 工具,或者当您只需要一两个代码时,您是否正在创建四段代码(加上四个单元测试)?