代码之家  ›  专栏  ›  技术社区  ›  Rob Wells

不过度设计当前问题解决方案的理由[已结束]

  •  5
  • Rob Wells  · 技术社区  · 17 年前

    在这里思考这个问题时 overdesigning for possible future changes

    8 回复  |  直到 9 年前
        1
  •  5
  •   soulmerge    17 年前

    http://en.wikipedia.org/wiki/You_Ain%27t_Gonna_Need_It

    • 任何新功能都会对未来的工作施加限制,因此 现在,一个不必要的功能可能会阻止 稍后。
    • 在实际需要该功能之前,很难完全 定义它应该做什么和测试 如果新功能不正确 对,即使最终是 需要。
    • 这会导致代码膨胀;软件变得越来越大
    • 除非有规范和某种版本控制,否则
    • 添加新功能可能会提示其他新功能。如果这些新 功能也已实现,这

    http://en.wikipedia.org/wiki/KISS_principle

        2
  •  3
  •   Vicky    17 年前

    特别是在嵌入式设备上,尺寸就是金钱(比如,较大的闪存部件,成本更高,制造时的编程时间更长;或者更多的外围组件)。

    即使在Windows应用程序上,应用程序越大,功能越多,开发成本就越高;等到你 知道

    在开发之前,正确考虑需求是件好事,但过度设计往往只是自找麻烦。

        3
  •  3
  •   Carl Manaster    17 年前

    他们说:“我们可能会在未来的某个阶段在其他地方使用它。”

    是

        4
  •  3
  •   Bernhard Hofmann    17 年前

        5
  •  1
  •   Adam Luter    17 年前

    这是一种平衡,通常我只在成本低廉的地方进行过度设计。例如,我不会编写一个接受2个参数并将其相加的函数,而是编写一个接收n个参数并相加的函数。然而,我 不要 编写一个接受n个参数并使用汇编添加它们的函数。

        6
  •  1
  •   Loofer    17 年前

    你说

        7
  •  1
  •   JohnIdol    17 年前

    面积余量 (以一种比所需更通用的方式解决问题)只有当你负担得起的时候,一个特定的架构才是可以接受的。

    如果你接受 (一般来说,这与过度设计不同)你需要再次接受随之而来的成本(时间==>金钱)——如果你负担不起这些额外的成本,那么你就得到了答案:)

        8
  •  1
  •   Mark    17 年前

    提供未来功能和添加未来功能有很大区别。一个好的设计应该有“钩子”或任何东西来提供新的功能或修改。

    推荐文章