过度工程API的动机?

dsi*_*cha 5 api

对于可怕的过度设计的API而言,似乎存在着相当多的不喜欢,这些API被设计为无限灵活,因此不会使简单的事情变得简单.尽管如此,似乎并不缺少需要您使用8个不同类并编写20行样板文件来完成简单,常见任务的API.我不会提到名字,因为这不应该是关于特定API是否过度设计的火焰.

您认为这些可怕的过度工程API的根本原因是什么?您认为阻止API设计人员制造此类怪物需要做些什么?

编辑:恕我直言,甚至没有创建可重复使用的代码确实是一个很好的答案,因为如果API非常难以使用并且需要大量和大量的样板,重用的好处变得值得怀疑.

Gre*_*ill 8

我相信这通常是所谓的第二系统效应的结果.设计师从他们的第一次"版本1"设计中汲取经验教训,使下一版本变得更加灵活,以至于它变得过度设计并且难以理解.

弗雷德布鲁克斯的书"神话人月"介绍了这个术语并详细讨论了它.


Eri*_*sch 0

我认为没有什么可以阻止人们过度思考问题。这是解决问题所固有的。像 XP 这样的方法论试图阻止它,但当归根结底,每个人都会想“但是如果我让这个更通用,那么我可以在这样那样的情况下重用它”