关于“重新发明轮子”的争论通常在选择使用库的错误上下文中使用,但这几乎不是类似的事情。
假设我正在评估一个库“ forms-plus”,该库最近才很流行,并且有助于处理表单。它具有一个漂亮的目标页面,现代酷炫的图形以及周围的-cult-(哎呀,我的意思是社区),他发誓它将如何使表格再次变得更好。但是“ forms-plus”是“ forms”之上的抽象。“形式”是可能的,但处理起来很麻烦,因此使其变得更容易的抽象变得流行。
新的抽象一直在发生。很难将它们与车轮进行比较。它更像是新的控制设备和新的手册,适用于您需要运行的任何非常复杂的设备。
根据个人经验,此新设备“ forms-plus”的价值看起来会有所不同。如果我以前从未构建过表单,那么“ forms-plus”将非常引人注目,因为它更容易上手。缺点是,如果“ forms-plus”被证明是泄漏抽象,那么我仍然仍然需要学习“ forms”。如果我构建的表单没有“ forms-plus”,那么我将需要考虑学习新工具的时间。好处是我已经知道“形式”,因此我不怕在其上进行抽象。对于新手来说,短期收益通常会更大,因为如果没有改进,那么就不会有新的图书馆。长期利益将在抽象质量,采用率,
在仔细评估了使用新的抽象形式“ forms-plus”与使用裸骨“ forms”的利弊之后,我做出了决定。决定很大程度上取决于我的个人经验,不同的人会做出不同的决定。我可能选择使用准系统“表格”。也许在以后的时间里,表单加上了更多的支持,并成为了事实上的标准。也许随着时间的流逝,我自己的实现变得很繁琐,并且开始涉及很多表单以及现在正在做的事情。这个时候来的人会被批评为我热衷于重新发明轮子,而我应该使用现有的库。但是当我不得不对“ forms-plus”做出决定时,也有可能还有其他多种形式可以替代“ forms-plus”,
最后,选择合适的工具是一个复杂的决定,“重塑车轮”并不是一个很有帮助的观点。