Martin Fowler

Bliki: Paracelsus Maxim

8.5内容质量

TL;DR · AI 摘要

编程中的全局数据使用需遵循‘剂量决定毒性’原则,适量使用可提升效率,过量则引发问题。

核心要点

  • 全局数据适量使用可提高程序效率,但过量会导致维护困难
  • Martin Fowler引用Paracelsus名言强调上下文对技术决策的影响
  • 编程实践中应通过剂量控制平衡全局数据的便利性与风险

结构提纲

按章节快速跳转。

  1. 通过医学剂量概念引出编程中的设计原则

  2. ·Paracelsus的剂量理论

    解释16世纪医学理论及其现代适用性

  3. 分析全局数据作为剂量应用的典型案例

  4. 强调技术决策需考虑具体使用场景

  5. 提出评估技术方案的双维度标准

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Paracelsus Maxim在编程中的应用
    • 医学背景
      • 剂量决定毒性
    • 编程实践
      • 全局数据管理
      • 上下文依赖
    • 设计原则
      • 适度原则
      • 风险控制

金句 / Highlights

值得收藏与分享的关键句。

  • All things are poison, and nothing is without poison; the dosage alone makes it so a thing is not a poison.

    第 3 段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • A little global data, especially when immutable, can be a handy way of propagating information

    第 4 段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • When thinking about when things are good or bad, we should always ask 'in what contexts' and 'in what doses'

    第 5 段

    ⬇︎ 下载 PNG𝕏 分享到 X
#编程原则#全局数据#Martin Fowler#软件设计
打开原文

帕拉塞尔苏斯定律

2026年9月2日

Martin Fowler

词典

药物与毒药的区别在于剂量。

我们经常讨论编程或生活中某些习惯是好是坏。但很少有事情是简单的二元对立。有些事情会随着情境变化:在我花园里读书是件好事,但开车时读书就不是。另一个变量是剂量:少量止痛药能缓解我的头痛,但过量会置我于死地。

16世纪瑞士医生帕拉塞尔苏斯注意到了剂量的重要性。他的原话是德语“Alle Dinge sind Gift, und nichts ist ohne Gift; allein die Dosis macht, dass ein Ding kein Gift ist.”(根据维基百科)翻译为“万物皆有毒,无物无毒;唯剂量决定其是否为毒。”也被称为“剂量决定毒性”或拉丁语“dosis sola facit venenum”。

在编程中,全局数据是帕拉塞尔苏斯定律(我这样称呼它)的典型例子。少量全局数据,尤其是不可变数据,可以作为一种便捷的方式,在程序各处传播可能需要的信息。但一旦数量过多,就会迅速变得危险。

这类问题在许多地方都会出现。因此,当我们思考某事物是好是坏时,应当始终问自己:“在什么情境下”以及“以何种剂量”