Show HN: Great Spectations, the Spec Checker2 months agohttps://greatspectations.orgGreat Spectations 是一个工具,用于检查代码中对规范的引用注释与实际规范是否一致,标示不匹配和缺失的引用。它支持多种语言(C、Python、Rust)和规范格式(Markdown、MediaWiki、RFC纯文本),并可忽略空格或进行字节精确匹配。该工具提供覆盖率分析,以识别哪些规范要求未被引用,并且可以将要求拆分为多个代码块。同时编写规范和实现的开发者能够从中受益于改进的规范质量和便于其他实现者的验证。
Stream of Consciousness Driven Development2 months agohttps://buttondown.com/hillelwayne/archive/stream-of-consciousness-driven-develo...作者描述了一种名为‘意识流驱动开发’的结对编程技术,在这种技术中,他们不是口头解释复杂的变更,而是输入一个结构化的Markdown文档(问题、解决方案等),同时融入搭档的提问。这种方法有助于弥合结对编程者之间的经验差距,确保搭档在做出变更之前完全理解概念背景,而不是盲目信任专家。它通过强制明确记录推理过程来防止产生不可维护的规范,并已在教学研讨会上成功应用。
A sufficiently comprehensive spec is not (necessarily) code2 months agohttps://buttondown.com/hillelwayne/archive/a-sufficiently-comprehensive-spec-is-...规范是一种抽象,代表一组可能的实现,而不是代码本身。如果一个规范中的任何合理实现都能满足规范制定者,即使不够全面,该规范也是充分的。仍然需要程序员用正式语言(如测试套件)对规范进行编码,这些语言与代码仍有区别。LLM的不确定性和语言的模糊性意味着规范可能产生不一致的结果,强化了规范与代码之间的区别。即使是低级程序(如C语言或机器代码)也可以被视为规范,因为存在不同的实现。