在倡导你的 重新发明的轮子”之前,你必须做的 5 件事

在倡导你的“重新发明的轮子”之前,你必须做的 5 件事

原文:https://medium.com/hackernoon/5-things-you-must-do-before-publicly-advocating-your-reinvented-wheel-d3c1247f5ad6

几个月来,你一直在为 Android 开发新的数据库抽象,名为 Katabase(这是一个用 Kotlin 编写的库,所以它必须以 K 开头,否则你会在睡梦中被谋杀!).

你已经研究过社区标准,如房间仓库SQLDelight ,但是他们真的觉得不适合你的项目。

这太好了!找点乐子,做点新的,有创意!

几个月之后,你获得了开源许可。恭喜你。这可能是一个很好的作品集,一个很好的采访讨论,其他开发者可以从中学习。

也许它太棒了,你可以在会议上谈论它,或者它成为你的开发社区中新的黄金标准。

你开始写你的新媒体文章,所有关于你的新图书馆和它是多么令人惊奇。关于它如何更好。

但是不要这么快…在你开始公开提倡使用你的框架/库而不是现有的流行解决方案之前,你有一些职业义务。

成为领域专家

你不想看起来很傻,不能回答问题。

更重要的是,你需要以某种客观的方式确保你的东西是好的。

您可能会发现一些已经存在的东西,在现有的开发人员基础上,您可以创建问题和拉式请求,将缺少的特性添加到现有的解决方案中,而不是推您的 SQL 抽象库。

寻找该领域的专家进行讨论。您可能与一位顶级专家进行了 Skype 对话,并发现您的库中有一个致命缺陷,需要在发布前修复。您可能会了解到有一个性能原因或一个公共需求阻止了其他开发人员构建相同的东西。

参考现有技术

完成研究后,你应该参考以前的工作和现有的解决方案。

在您的 GitHub 自述文件中链接到它们,在您的文档中引用它们。

它将帮助用户建立一个开始的心智模型,它也将显示你对所有工作的尊重和感激,这些工作使你能够构建你所做的东西。

当您谈论现有技术时,您不应该只讨论该解决方案的问题。

老实点!

谈论利弊,确保你没有用不诚实的画笔描绘你的解决方案。

大多数技术解决方案都是主观和上下文相关的。向用户提供上下文。

求批评求投稿

开源是牛逼

开发者创意牛逼

创建新的方法和库很有趣!

但是如果你想说“开发人员应该开始在生产中使用它!我们都应该改用我的解决方案,而不是行业标准!”你真的需要做所有随之而来的不性感的工作。

这意味着:

  • 以一种有意义的方式接受贡献(包括 bug 跟踪和问题、pull 请求、特性讨论)。
  • 不要只是接受批评,而是寻求批评。询问人们哪些地方可以改进,与现有的解决方案维护者交谈,询问 API 的哪些部分令人困惑或受到限制。

全面的测试和文档

全面的测试覆盖和至少最少的文档。

一点都不好玩。

一点都不性感。

这里没有太多不明显的话要说..去做吧(如果还没做的话)。

考虑行业和社区

开发人员和任何行业都可以从大型开源行业标准解决方案中受益匪浅。

这使得招聘变得容易。

这意味着开发人员可以说同一种语言,并且容易交流。

这意味着开发人员可以以令人难以置信的速度添加功能、修复缺陷、增强性能,因为只有几个行业解决方案而不是 20 个不同的标准。

由于各种各样的原因,这通常是不可能发生的。

但是当它出现时(Android 领域的好例子是 Dagger 2 和 RxJava ),对于开发者和使用这些工具的许多公司和专业人士来说,这可能是不可思议的。

在试图“分裂社区”之前,您应该真正评估(并获得评估)您的解决方案。

拥有行业标准的流行解决方案使新开发人员更容易进入这个行业,这是我非常热爱的一个领域。

如果一个刚从大学毕业的新开发人员使用我的小型、很可能更糟的 Katabase 库提交了一个编码任务,他们可能得不到这份工作。而不是工程经理说“太好了。他们已经理解了 X,我们花了很多时间与之合作。”

总结

我不是说不要造东西。

拜托,做点东西吧。

尝试新方法。

要有创意,要有乐趣。

人们一直在创造伟大的东西,新的标准也在被创造。这太令人兴奋了!

但是,当你重新发明轮子,然后主张用你的新轮子取代现在的轮子时,要深思熟虑。


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除