Wheel Reinventor's Principles Wheel Reinventor 的原则
Why and how I sometimes write stuff from scratch.
我有时为什么以及如何从头开始写东西。
Why reinvent? 为什么要重塑?
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?
Wheel Reinventor 喜欢重新发明车轮。以前发明了很多轮子,有些甚至非常受欢迎。那么,为什么 Wheel Reinventor 会制造新的呢?
- 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.
学习: 通过重新发明轮子,Wheel Reinventor 学到了很多东西。不仅关于如何创建新轮子,还关于现有轮子如何工作。 - 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.
特 异性: 没有一个轮子适合所有人。在创建自己的轮子时,Wheel Reinventor 可以根据他们的确切用例进行定制,无论是独轮车还是怪物卡车。 - 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.
创新: 虽然很受欢迎,但一些现有的轮子相当糟糕。在重塑的同时,Wheel Reinventor 有机会以现有解决方案无法做到的方式探索新的可能性。 - 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.
享受: 事实上,车轮重塑确实不需要太多理由。这可能只是出于对工艺的热爱和对出色工作的满足感。
Challenges 挑战
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.
然而,Wheel Reinventor 必须小心。重新发明轮子可能很耗时,而且最终产品可能不如现有解决方案。Wheel Reinventor 也往往会陷入无限的兔子洞。要制造轮子,他们还必须制造他们需要的锤子吗?他们必须为了锤子的手柄而砍倒一棵树吗?如果 Wheel Reinventor 从种植森林开始,他们就不会很快制造车辆。
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.
同样,Wheel Reinventor 必须对自己诚实。他们必须牢记他们为什么要重新发明一个特定的轮子,并且不能忽视这一点。为学习而重新设计的轮子与为创新而重新设计的轮子看起来不同。
Development Principles 开发原则
(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.
感谢您的阅读。祝车轮好运。
发表评论