Lobsters | 原文链接 | 2026-09-05 收录

简单不等于小巧:Unix 工具又小又耦合,解耦才是真正的追求

来源: jyn.dev — 2026-09-04

概述

jyn.dev 一篇被广泛讨论的编程方法论文章。作者从一场演讲的 Q&A 出发:讲者劝大家「优先追求简单」,却对自己的答案不满意——因为 Unix 管道那类人人称颂的「小而美」其实并不简单。借用 Rich Hickey 的词源,simple(sim-plex)指「只有一股编织」,complex(com-plex)是「多股编织在一起」,作者直接用「耦合」作为 complex 的同义词。他论证:Uniq 这类 Unix 工具把排序与聚合绑死,是「又小又耦合」的典型;而 Google Drive 这样庞大的程序对用户却近乎「简单」。真正的分界不是代码体积,而是特性之间的耦合度——就像 Rust 的 struct 把类型检查与固定的数据表示耦合在一起,而 Clojure 用可检查的 map 注解在运行期解耦了两者。结论是:不必追求小,而要追求解耦;「什么时候该让程序简单」的答案是——永远。

核心要点

金句

Unix tools are small but they are not simple.(Unix 工具很「小」,但它们并不「简单」。)
返回 Lobsters 首页