EN
返回档案库

案例库 · 软件与 IT · 产品决策 · 2013–2021

TOML赢得配置文件之争:让普通文本读起来一目了然

GitHub的Tom Preston-Werner设计了一种极简配置格式,Rust和Python将其作为标准。

GitHub

那一手

2013年,配置文件要么简洁但含义模糊,要么冗长且难以编辑。GitHub的联合创始人Tom Preston-Werner发布了TOML——Tom的明显最小语言——旨在打造一种简单到让人能像读纯文本一样阅读的配置格式。

这个设计将每个文档无歧义地映射到一个哈希表:键、值、表、数组和日期都有清晰的形态。因为没有花哨之处,用新语言编写解析器轻而易举,而审阅配置文件从来不需要手册。

采用源自工具链:Rust的Cargo选择TOML作为其清单格式,Python将pyproject.toml标准化用于打包,Hugo、Alacritty等许多项目也跟随。规范在2021年达到1.0版本,巩固了其主流标准地位。

为什么管用

  • 无歧义的语法使得在各种语言中编写解析器变得容易
  • 可读性强的文件让人信任且容易审阅
  • Cargo的早期采用让它有了重要的包管理器锚点
  • Python的pyproject.toml让它成为整个语言的默认选择
值了多少一种配置格式,简单到可以像普通文本一样阅读聪明

可以搬走什么

对于面向开发者的格式,可读性是一种特性:如果文件对人类来说是易懂的,采用就会源于信任。

后来呢

TOML现在是Rust和Python打包的默认清单格式,并广泛用于云端、编辑器和构建工具。它与YAML和JSON竞争,但保持着其简单易读、机器易解析的独特定位。

资料来源

发现哪里写错了?告诉我们。

同一路聪明