代码之家  ›  专栏  ›  技术社区  ›  Jonathan Day

什么时候意外的功能是一个bug,或者仅仅是糟糕的设计

  •  1
  • Jonathan Day  · 技术社区  · 14 年前

    有时,程序员在代码结构中明显地做出了一个深思熟虑的选择,结果导致行为(充其量)是不直观的,但从技术上讲并不是一个错误,因为它已经被破坏了。这应该被归类为一个错误并修复吗?

    例如,一个著名的开源电子商务系统(如果你看一下我的回答历史,你就会知道是哪一个!)提供数量增量功能,管理员可以指定必须添加到购物车中的单位的倍数(例如,必须是5、10、15、20等)。编写代码是为了使这些限制仅在系统处于“管理库存”模式(即库存水平随每个订单而递减)时生效。现在,这是一个完全有效的情况,店主可能希望出售他们的产品在指定的增量,但不管理库存水平。代码会自动忽略配置(没有反馈给管理员),也没有打开管理库存需求的文档。

    这是虫子吗?或者仅仅是糟糕的设计/文档。

    注意,我相信一些读者会把这个问题理解为主观的,但是我认为错误和糟糕的设计之间有一个重要的区别。这一点在开源项目中尤为重要,因为在这些项目中,bug报告往往在不同于公司内部系统的流程中工作。

    2 回复  |  直到 14 年前
        1
  •  2
  •   cadolphs    14 年前

    错误意味着行为不同于程序员的想法,然而 糟糕的设计意味着程序员的行为超出了用户的合理预期。

        2
  •  1
  •   digiarnie    14 年前

    是否有一个规范可以确定一种方法是正确的?如果有一个规范,那么它就是一个bug。

    如果没有规范,那么可能是文档不好。

    当代码无提示地忽略配置时,是否会发生错误?那就是虫子。

    推荐文章