简单不等于小:别再把小而耦合误当成简洁
来源:jyn.dev — jyn.dev · 65 分 · by zdw
📋 概述
一篇面向程序员的架构随笔:作者借一次演讲里我们要优先追求简单的回答自我反思,指出业界常把简单(simple,源自拉丁语只有一股绳)错当成小(代码量少)。文章用统计词频的 Unix 管道与 Clojure 两种写法对比,说明 Unix 工具链小而高度耦合——聚合必须依赖排序、改需求要绕开一堆临时文件和晦涩正则;反之 Google Drive 那样庞大但对用户解耦的软件反而更接近真正的简单。作者引用 Rich Hickey 的 Simple Made Easy,主张耦合才是复杂之源,程序应当永远追求简单,而小只在资源受限等特定时刻才值得。
🔑 核心要点
- 借 Rich Hickey 词源区分概念:simple = 一股绳(无耦合),complex = 多股缠在一起。
- Unix 管道小而耦合:如 sort | uniq -c 把聚合与排序绑死,改需求要拼贴大量临时文件。
- 规模大不等于复杂:Google Drive 体量巨大却对用户解耦,体验反而简单。
- 真正该问的是何时该小而不是何时该简单——简单永远值得,小只适合资源受限场景。
- 作者修复后自己的覆盖率流水线变大了但耦合更少、更简单,正是反证。
💡 金句
Unix 工具之所以难改,不是因为它小,而是因为它把该分开的东西都编在了一根绳上。
👍 0
👎 0
← 返回 Hacker News 首页