Stream of Consciousness Driven Development18 hours agohttps://buttondown.com/hillelwayne/archive/stream-of-consciousness-driven-develo...作者描述了一种名为‘意识流驱动开发’的结对编程技术,在这种技术中,他们不是口头解释复杂的变更,而是输入一个结构化的Markdown文档(问题、解决方案等),同时融入搭档的提问。这种方法有助于弥合结对编程者之间的经验差距,确保搭档在做出变更之前完全理解概念背景,而不是盲目信任专家。它通过强制明确记录推理过程来防止产生不可维护的规范,并已在教学研讨会上成功应用。
A sufficiently comprehensive spec is not (necessarily) code18 hours agohttps://buttondown.com/hillelwayne/archive/a-sufficiently-comprehensive-spec-is-...规范是一种抽象,代表一组可能的实现,而不是代码本身。如果一个规范中的任何合理实现都能满足规范制定者,即使不够全面,该规范也是充分的。仍然需要程序员用正式语言(如测试套件)对规范进行编码,这些语言与代码仍有区别。LLM的不确定性和语言的模糊性意味着规范可能产生不一致的结果,强化了规范与代码之间的区别。即使是低级程序(如C语言或机器代码)也可以被视为规范,因为存在不同的实现。