意见驱动的设计

2021-06-24 10:46:11

我曾经在一家撰写并维持内部框架的公司工作。在十年的过程中,它们在大约250个网站和应用程序中获得了验证。尽管有许多缺点,但该公司仍然使用他们的框架来说,这是一个简单的原因:他们控制着。

由于这种控制,他们能够在没有任何开销的情况下定制他们自己的框架。而且,虽然我争辩说使用流行的,但是社区支持的框架几乎总是写给自己的更好的选择,但我可以欣赏他们的一些推理。

除了最后,他们完全没有创造他们最初出发的东西。而不是形状的工具,而是针对他们的需求,框架'核心开发人员经常想要灵活性:他们梦想开放的SourcingTheir框架,它越来越受欢迎,所以它需要处理尽可能多的案例,以达到广泛的观众。因此,通常优先考虑灵活性和配置,即使它们很少添加了很多 - 如果有的话,则为公司项目。核心开发人员总是能够说服非技术经理;虽然非常感谢,这一框架的设计和灵活性往往只是对我和我的同事处理的负担。

这种心态"高可配置性和灵活性"不幸的是,在软件设计中是常见的。我不是仔细的,但不知何故的程序员 - 我自己包括 - 通常认为他们也需要考虑所有可能结果,即使是那些与他们的用例相关的人和#39;我们中的许多人会涉及某种恐惧,因为如果代码我们'重新编写ISN' t能够处理最具体的特定边缘案例。一个非常反击的思想。

最近我来欣赏到软件设计的意见驱动方法。特别是在开源世界,你在哪里'重新编写别人的代码。我曾经告诉自己我' d需要为更多的灵活性编写更多代码和#34;如果我想要这个包来增长流行"

如今,我更喜欢解决问题的一种方法,而不是提供几种选择。作为一个开源维护者,我意识到不是每个人都可能像我那样提出的解决方案;但最终,如果工作完成,如果我的代码是可靠的,清晰有用;很少有任何投诉。因此,当我意识到灵活性随着价格不值得付出的价格,我开始更喜欢意见驱动的设计。

我不是唯一一个受益的方式。当我的开源代码的用户只得到一种做某事的方式,他们必须担心不会影响最终结果的微决策'而且,对于我来说,是好的软件:允许程序员专注于真正重要的决定,并为他们的项目和客户提供价值;而不是在不必要的细节上浪费时间。

谢谢阅读! 这篇文章是我的" deviaries" 我将自己写下的系列和个人经历作为开发人员。 你想读一些吗? 如果您想保持最新'在此博客上发生的事情,您可以在Twitter上关注我或订阅我的时事通讯: