Wheel Reinventor’s Principles 再造轮子的原则

Wheel Reinventor's Principles // Tobias Løfgren

轮子再造者的原则 // Tobias Løfgren


The Wheel Reinventor enjoys reinventing wheels. A lot of wheels have been invented before, some are even very popular. So why does the Wheel Reinventor make new ones?

轮子再造者喜欢重新发明轮子。其实很多轮子以前都被发明过,有些甚至非常流行。那么为什么轮子再造者还要去制造新的呢?

Learning: By reinventing the wheel, the Wheel Reinventor learns much. Not only about how to create new wheels, but also about how existing wheels work.

学习:通过重新发明轮子,轮子再造者学到了很多东西。不仅仅是如何创造新的轮子,还包括现有的轮子是如何工作的。

Specificity: No one wheel fits all. When creating their own wheel, the Wheel Reinventor can tailor it for their exact use case, whether that’s a wheelbarrow or a monster truck.

特定性:没有一个轮子适合所有情况。在创造自己的轮子时,轮子再造者可以根据具体情况量身定制,无论是手推车还是怪兽卡车。

Innovation: Although popular, some existing wheels are quite bad. While reinventing, the Wheel Reinventor has the opportunity to explore new possibilities in a way that existing solutions cannot.

创新:尽管一些现有的轮子很受欢迎,但它们中的一些相当糟糕。在重新发明的过程中,轮子再造者有机会以现有解决方案无法做到的方式探索新的可能性。

Enjoyment: Wheel reinvention does, in truth, not need much of a reason. It can simply be out of love of the craft and the satisfaction of work well done.

乐趣:实际上,重新发明轮子并不需要太多理由。它可能只是出于对工艺的热爱和对出色完成工作的满足感。

The Wheel Reinventor must however be careful. Reinventing wheels can be time-consuming and the end product may be inferior to existing solutions. The Wheel Reinventor also tends to fall into infinite rabbit holes. To create a wheel, must they also create the hammer that they need? Must they fell a tree for the hammer’s handle? If the Wheel Reinventor begins by planting a forest, they will not be building vehicles any time soon.

然而,轮子再造者必须小心。重新发明轮子可能是耗时的,且最终产品可能不如现有的解决方案。轮子再造者也倾向于陷入无尽的细节之中。为了制作一个轮子,他们是否还需要制作所需的锤子?是否还需要砍伐一棵树来做锤子的手柄?如果轮子再造者从种植一片森林开始,那么他们将不会很快造出车辆。

The Wheel Reinventor must therefore first and foremost be deliberate. They must consider whether it is appropriate for a given wheel to be reinvented, especially when accountable to others. They must also consider the scope of what is being reinvented (and crucially, what is not), as to not get needlessly sidetracked.

因此,轮子再造者首先必须是深思熟虑的。他们必须考虑是否有必要为某个特定轮子进行再创造,尤其是在对他人负责的情况下。他们还必须考虑正在被重新发明的东西的范围(以及关键的是,什么不应该被重新发明),以免不必要地偏离轨道。

Likewise, the Wheel Reinventor must be honest with themself. They must keep in mind why they’re reinventing a particular wheel and not lose sight of that. A wheel reinvented for learning looks different than a wheel reinvented for innovation.

同样,轮子再造者必须对自己诚实。他们必须记住自己为什么要重新发明某个特定的轮子,并不忘初衷。为学习而重新发明的轮子看起来与为创新而重新发明的轮子不同。

(While not strictly tied to the principles above, I have found the points below to help me foster a healthy mindset when doing wheel reinvention projects.)

(虽然下面的观点与上述原则没有直接关联,我发现它们在我进行轮子再造项目时有助于培养健康的心态。)

Minimize third-party dependencies. Master the platform’s built-ins and accumulate your own toolbox over time.

尽量减少第三方依赖。掌握平台内置的功能,并随着时间积累自己的工具箱。

Embrace the strengths of DIY. Create what you need and little more. Be wary of abstractions made for fabricated use cases.

拥抱DIY的优势。只创造你需要的东西,不多也不少。警惕那些针对虚构使用案例所做的抽象。

Avoid magic where possible. Try to stay close to the metal, preferring simple tools and not losing touch with the underlying technology.

尽可能避免魔法般的操作。尝试贴近底层技术,偏好简单的工具,不要失去与基础技术的联系。

Share your work. Open-source your code where possible. Write about your approach and let others learn from your experiences.

分享你的工作。尽可能开源你的代码。写下你的方法,让别人也能从你的经验中学到东西。

Thank you for reading. Good luck with the wheels.

感谢阅读。祝你在轮子上好运。