维护内部React组件库的注意事项

I have been on the UI Infrastructure team at DigitalOcean since November 2021. One of my main responsibilities is acting as the primary maintainer of our internal React component library, Walrus. This library predates my involvement by several years, and it has been interesting getting to see how previous design choices have played out.

自2021年11月以来,我一直在DigitalOcean的UI基础设施团队工作。我的主要职责之一是充当我们内部React组件库Walrus的主要维护者。这个库比我参与的时间早了好几年,能看到以前的设计选择是如何进行的,这很有意思。

This document is a collection of my thoughts on maintaining a component library as part of an existing design system used by a large number of frontend applications. I don’t particularly care much for visual design—though I seem effective at implementing it—and am more interested in the software engineering and social challenges of building a large-scale component library.

本文收集了我对维护组件库的想法,它是大量前端应用所使用的现有设计系统的一部分。我并不特别关心视觉设计--尽管我在实现视觉设计方面似乎很有效--我对构建大规模组件库的软件工程和社会挑战更感兴趣。

I’ll probably update this page as I have further insight.

我可能会在我有进一步的见解时更新这个页面。

Philosophy

哲学

When maintaining a library like this, I’m trying to understand the subtle incentives offered through the interface. If a developer can pull a lever, it will eventually get pulled. Sometimes that developer is the most senior person on the team. Sometimes it’s the one fresh out of a boot camp. There are hundreds of thousands of lines of code, a task to be completed, and too much context required to know The Right Thing. This problem spawns out of large team dynamics, and it is present in every organization. If the lever exists, it gets pulled.

在维护这样一个库的时候,我在努力理解通过界面提供的微妙的激励。如果一个开发者能拉动一个杠杆,它最终被拉动。有时这个开发者是团队中最资深的人。有时是刚从新兵营出来的那个。有成百上千行的代码,有要完成的任务,有太多的背景需要知道正确的事情。这个问题产生于大型团队的动态,它存在于每个组织中。如果这个杠杆存在,它就会被拉动。

But the responsibility doesn’t entirely fall on the developer who saw the lever. The burden must also fall on the developer who offered it. Good design results in library consumers falling into the pit of success. Planning for this outcome requires patient consideration, which I do not rush. Generally speaking, everyt...

开通本站会员,查看完整译文。

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.129.0. UTC+08:00, 2024-07-07 05:04
浙ICP备14020137号-1 $Map of visitor$