每天听简报,了解最新科技、AI、软件资讯
十四年前,加里·伯恩哈特提出过函数式核心、命令式外壳的说法,把代码劈成两半:核心不碰输入输出,外壳专门处理读写数据库、发请求这些脏活。这篇博客把它推进了一步:核心不必是纯函数式,只要确定性够用。同样的调用序列,不管是一个纯函数,还是一个带内部状态的状态机,结果永远一样,一样好测试。该赶去外壳里的东西是:没设种子的随机数、多线程、网络通信、读写本地文件、查数据库、问系统时间。哪怕是一坨遗留代码,里面往往也散落着好几个这样的确定性核心,一点点归拢,就像老式磁盘整理程序把碎片拼回连续区块。评论区有人接过思路,提出粗糙核心、精致外壳,管住用 AI 写代码时的混乱。
进度保存在本设备 · 登录同步