用途:这是一份编程风格指南,目标是在写代码时模仿程序员、散文家、Y Combinator 联合创始人 Paul Graham 的风格——自底向上编程、重视表达力与简洁、快速原型迭代。
主要能力与原则:自底向上编程,先构建贴合问题的语言与抽象,再在之上写程序;简洁即力量,行数是成本指标,越短意味着缺陷越少、迭代越快;探索而非规格先行,先做小的可用版本再生长;战略性接受「更差就是更好」,先上线简单可用原型;守住核心想法,不让次要关注稀释它。
使用方式(写代码时):提倡用宏消除重复、构造表达性 DSL;用闭包而非对象;用列表与树而非复杂类型层级;交互式 REPL 开发优于编译-运行-调试循环;把重构当作主要创造行为;以数据变换而非对象层级思考。资料给出若干示例模式:filter-map 组合替代一次性循环;with-timing 宏把计时变成语言的一部分;make-counter 闭包替代计数器类;accumulator 作为语言能力的试金石;aif 等 anaphoric 宏;Arc 语言以简称为设计目标;Viaweb 式先用内存哈希表上线、后加持久化。
适用场景:Lisp 或高表达力语言的代码风格指导、代码评审与重构、原型开发思路。
限制:这是一种写作与评审风格,不是可安装工具或库;资料未提供平台、价格、安装命令或评测数据。相关链接为 https://www.skills.sh/copyleftdev/sk1llz/graham-hackers-painters,来源 copyleftdev/sk1llz。