返回 动态 apply CMS 文章

像细菌一样写代码:Karpathy 的开源社区繁荣之道

让代码像细菌基因组一样小而独立,社区就能像细菌一样通过复制粘贴蓬勃发展。

开源社区代码风格模块化水平基因转移
成长分 / 100 73 综合收获、行动、留存与影响

像细菌一样写代码:Karpathy 的开源社区繁荣之道
为什么值得读了解开源社区繁荣的底层机制,从代码设计角度切入。

获得可操作的代码风格建议,提升代码的可复用性和传播性。

关键洞察
  1. 细菌代码(基因组)的三个特点:小、模块化、自包含,使其易于水平基因转移。
  2. 如果代码块小而模块化、自包含且易于复制粘贴,社区就能通过水平基因转移蓬勃发展。
  3. 这种风格擅长快速原型设计,但无法构建复杂生命(如真核生物)。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:1452

如何通过像细菌一样编写代码来构建蓬勃发展的开源社区 🦠。细菌代码(基因组)具有以下特点:

  • 小(每行代码都消耗能量)
  • 模块化(组织成可交换的操纵子组)
  • 自包含(通过水平基因转移易于“复制粘贴”)

如果代码块小而模块化、自包含且易于复制粘贴,社区就能通过水平基因转移蓬勃发展。对于你编写的任何函数(基因)或类(操纵子):你能想象有人在不了解你的其余代码或无需导入任何新内容的情况下,说“拿走”就能获益吗?你的代码能成为 GitHub 上的热门 gist 吗?

这种编码风格指南使细菌能够在地球深处从寒冷到炎热、酸性或碱性的每一个生态角落,以及太空真空中殖民,同时拥有令人难以置信的碳同化、能量代谢等多样性。它擅长快速原型设计,但……它无法构建复杂的生命。相比之下,真核基因组是一个更大、更复杂、组织化且耦合的单一代码库。虽然创造力明显较低,但对于复杂生命——构建整个器官并协调其活动——却是必需的。凭借我们智能设计的优势,应该有可能同时利用两者的优点。如果必要,构建一个真核单一代码库主干,但最大化细菌 DNA。