Git Archaeology #8 — 工程相对论:为何同一位工程师得到不同的分数

发布: (2026年3月14日 GMT+8 22:36)
11 分钟阅读
原文: Dev.to

Source: Dev.to

Source:

工程相对论

同一个物体在月球上更轻,在木星上更重。代码库中也会出现同样的现象。

第 7 章 中,我谈到了代码库的 宇宙般 结构——引力、四种力以及“老练、良好的引力”。本章讨论的是这种引力的另一项基本属性。

引力取决于其所在的宇宙

观察不同代码库的 EIS 结果时,我注意到:

引力会随宇宙的不同而变化。

EIS 测量的是 你在代码库中创造了多少引力,但引力有一个关键属性:它依赖于所在的空间

  • 在物理学中,地球、月球和木星各自拥有不同的引力场。同一个物体在不同地点会变得更轻或更重。
  • 在代码库中,同一位工程师在不同代码库里会得到不同的 EIS 分数。

成熟 vs. 薄弱代码库

成熟代码库薄弱代码库
• 结构稳定• 没有中心结构
• 已有架构师• 设计碎片化
• 抽象已成熟• 缺乏抽象
• 已具备“老练、良好的引力”• 新的引力容易形成
  • 在成熟的环境中,创造新引力很困难。现有结构越强大,移动中心所需的能量就越大,因此提升 EIS 分数更为艰难。
  • 在薄弱的环境中,第一个提出体面设计的人会一夜之间成为架构师,EIS 分数也更容易提升。

结果: EIS 不是 一个绝对值。它取决于工程师 代码库引力场之间的相互作用。
这在某种意义上就是 工程相对论——同一位工程师在不同的宇宙中会产生不同的引力。

对工程评估的影响

想象有位工程师的分数如下:

仓库描述总分
A后端 API35
B新微服务60

自然地,60 看起来“更好”。
但如果仓库 A 拥有 极其强大的引力场——多个架构师、高度精炼的结构、经受战斗检验的抽象——那么在这种背景下的 35 实际上可能非常出色。

归一化陷阱: EIS 的相对归一化意味着每个团队的最高贡献者得分为 100,所以一个仓库的最高分在另一个仓库可能只是中等水平。
归一化是一个 计算 问题;工程相对论是一个 结构 问题。代码库本身改变了分数的意义。

如何考虑相对性

1. 查看 eis analyze --team

Structure: Architectural Engine → Strong gravitational field (scores are hard‑earned)
Structure: Unstructured          → Weak gravitational field (scores come easily)

Total: 40 inside an Architectural Engine
Total: 40 inside an Unstructured team

相同的总分在完全不同的语境下含义迥异。

  • 团队中架构师越多,提升你的 Design 轴就越困难。
  • 在拥有三位架构师的团队中得到 Design: 60 往往比在没有架构师的团队中得到 Design: 100 更不易。

2. 递归跨仓库分析

eis analyze --recursive ~/workspace

跨多个仓库进行分析可以揭示工程师的“跨宇宙引力”。

  • 在一个仓库是 生产者,在另一个仓库是 架构师——这种模式揭示了适应能力和潜在能力。
eis timeline --span 6m --periods 0 --recursive ~/workspace

代码库结构不是静止不变的。成员离职、重构、新功能——都会改变引力场。时间线帮助你区分:

  • 当结构变弱时分数 上升 的工程师
  • 无论结构强弱都 保持稳定分数 的工程师

架构师可复制性

真正伟大的工程师能够在 任何 宇宙中创造引力——不同的代码库、团队、以及…

Source:

在大型代码库中,**架构师(Architect)**的影响往往会在多个仓库之间产生可重复的模式,这种现象我们称之为 架构师可复现性(Architect Reproducibility)

当你使用 --recursive 对整个工作区进行分析时,持续在多个仓库中扮演 Architect 角色的工程师具备 通用设计能力(general‑purpose design capability),这种能力不依赖于任何特定的代码库。

作者后端 API前端固件模式
machuzArchitectArchitectArchitect可复现
aliceArchitectProducer依赖上下文
bobProducerProducerProducer始终为 Producer

代码库中的引力透镜

在天体物理学中,巨大的天体会通过弯曲其背后天体的光线——引力透镜(gravitational lensing)——来被发现。

在代码库中,Architect 的“引力”往往最明显的不是体现在他们自己的分数上,而是体现在它如何塑造其他人的分数

  • 当出现强大的 Architect 时:

    • 其他工程师的 Survival 分数可能下降(Architect 的代码占据了主要的 blame)。
    • 团队的 Design 轴分布出现偏斜(大部分架构变更都由同一个人承担)。
    • 新成员会呈现出典型的“上手曲线”:起始分数低,随后逐步适应并贡献到已有结构中。
  • 当该 Architect 离开时:

    • 多位工程师的分数会同步移动。
    • 出现 Design Vacuum(设计真空)风险。
    • 分数分布的“平坦化”预示着引力中心的消失。

你可以使用 eis timeline --team 观察这一现象:当引力中心消失的那一刻,整个团队的指标会出现波动。引力是真实存在的——只需要通过观察他人指标的变化才能看到它的完整形状。

结论

工程相对论(Engineering Relativity) 并不是 EIS 的局限,而是一个 特性,它反映了工程师与其所处代码库之间的真实、动态关系。理解并考虑这种相对性,你可以:

  1. 在上下文中解释分数,而不是孤立地看待。
  2. 识别真正具备适应性的 Architect,他们能够在不同代码宇宙中产生引力。
  3. 通过团队成员的指标透镜,发现强大 Architect 的隐藏影响

拥抱相对性,你就能把原始数字转化为关于人、结构以及不断变化的“引力”之间相互作用的更丰富故事。

Source:

工程相对论

在衡量工程影响时,如何进行公平的比较?
但我并不把这视为限制——而是特性。

当相对论在物理学中被发现时,“没有绝对的时间或空间” 这一事实是反直觉的。接受它导致了对宇宙的指数级更深理解。

EIS 也是如此。

分数随环境而变的事实告诉我们,在忽视环境的情况下比较工程师本质上是毫无意义的。工程师的真实能力不能在真空中测量;它始终与代码库——他们所处的宇宙——相互关联。

真正伟大的工程师在任何宇宙中都能创造引力。
但这种引力在不同宇宙中呈现的形式会不同。

这就是 工程相对论

章节

  1. 仅凭 Git 历史衡量工程影响
  2. 超越个人分数:从 Git 历史衡量团队健康
  3. 通往架构师的两条道路:工程师的不同进化路径
  4. 后端架构师的汇聚:安置灵魂的神圣工作
  5. 时间线:分数不说谎,它们也捕捉犹豫
  6. 团队进化:时间线揭示的组织法则
  7. 观察代码宇宙
  8. 工程相对论:为何同一工程师会得到不同分数 (本篇文章)

工具

brew tap machuz/tap && brew install eis

如果这对你有帮助…

欢迎给仓库加星,将概念分享给你的团队,或贡献改进!

0 浏览
Back to Blog

相关文章

阅读更多 »

你会完成自己开始的事吗?🚀

《Do You Finish What You Start?》的封面图片 🚀 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-...