返回资讯中心
外部精选
软件工程
#开发者实时流

开发者主张软件状态管理应以不可变性优先,呼吁学校晚教变量修改

来源标题:If I Change My Opinion on Immutability, Kill Me

一位开发者主张软件应基于不可变、只追加的值构建,而不是默认使用变量,并认为计算机专业学生应到高级课程才学可变状态。文章引用Rich Hickey的观点称,牺牲不可变性可能有正当理由,但没有任何理由不从不可变性出发。作者还以Bigtable和复式记账为例,强调管理资金的软件尤其应坚持不可变性。

Hacker News 最新joshmoody242026/11/13 · 今天2 分钟阅读

这个来源的 RSS 只提供摘要,下面是原文导语;完整论述请点「打开原文」。

管理软件状态的默认方式是变量。就像“变化”这个词所暗示的那样,指的是随时间改变的数据。

可变性不应该成为便利的选择。我希望软件建立在不可变、只追加的值之上。我甚至不希望计算机科学的学生在高级课程之前学习可变性。

因此,学校应该晚些教授可变性。

长篇版本请参见《不可变性改变一切》。

从不可变性优先的视角进行工程开发,会得到设计更好的系统。套用 Rich Hickey 的话来说,牺牲不可变性或许有正当理由,但天哪,你没有任何理由不从它开始。

你大概不是那个例外。

不可变性对 Bigtable 来说足够好,所以对你来说大概也足够好。

如果你的软件管理的是钱呢?兄弟,像性命攸关一样紧紧抓住不可变性。

巴比伦人在 4000 年前就想明白了这一点,中世纪意大利则禁止擦除账本条目。

本条为导读摘要,完整论述请以原文为准。

打开原文
去社区讨论 →