Signal Over Noise

RSS: http://www.stephen-cresswell.com/feed.xml
Signal Over Noise——Stephen Cresswell 的博客,关注技术与数据分析。

用 Yadda 3 写好 BDD 特性文件的 7 条原则

Yadda 作者 Stephen Cresswell 提出编写 BDD 特性文件的 7 条原则:用业务语言而非技术术语描述行为,让自动化适配语言而非反过来,用具体示例而非抽象规则,把实现复杂度留在步骤定义里。 他同时指出,清晰的业务语言规范对 coding agent 同样有用——agent 需要的是意图上下文,而不是实现细节。
评论点赞收藏32 天前

Drizzle ORM 的事务自动传播与查询计划可测试化

Stephen Cresswell 发布两个 Drizzle ORM 扩展库。drizzle-transact 用 AsyncLocalStorage 自动传播事务,开发者无需逐层传递 tx 对象,同时从模块层面屏蔽非事务化 db 实例,防止事务内误用 db 导致部分写入提交、部分回滚的数据不一致。 drizzle-explain 将 EXPLAIN (ANALYZE, FORMAT JSON) 结果与可配置约束(maxCost、rowEstimateTolerance)做断言,让查询计划问题在测试阶段暴露而非生产环境。 两个库均无额外生产依赖,drizzle-transact 支持 Required/RequiresNew/Nested 等传播语义。
评论点赞收藏38 天前

Yadda 3.0:AI Agent 时代的 BDD

<p>我刚刚发布了到NPM中。</p><p>对于不熟悉它的人,是 JavaScript 的 BDD 库。和 Cucumber 一样,它将普通语言规范映射到可执行代码,但从一开始就设计得对规范书写方式不那么严格。</p><p>这意味着,与其写像:</p><pre><code>Given a university, The University of Bouvet Island And The University of Bouvet Island offers a degree course in Computer Science with entry requirements of ABB And an A-Level graduate, Steve And Steve has a D in Physics And Steve has a D in Maths When Steve applies to study Computer Science at The University of Bouvet Island Then The University of Bouvet Island rejects the application </code></pre><p>你可以写:</p><pre><code>The University of Bouvet Island offers a degree course in Computer Science The ent…</code></pre>
评论点赞收藏46 天前

More Experiences of Vibe Coding

One of the outstanding questions from my previous post was whether code quality mattered to AI. I am now more convinced that it does. What I have observed in extended use is this: unless guided carefu...
评论点赞收藏226 天前

Why Are Experiences of Vibe Coding So Polarised?

TL;DR This post explores why experiences with Generative AI assisted software development vary so dramatically. While some developers report order of magnitude productivity gains, others encounter arc...
评论点赞收藏268 天前

Addendum: Open Source Contributions in Hiring

After publishing my recent article defending coding tests, I read a post by James Mahy, a genuinely kind, and exceptionally talented developer whom I ironically had the good fortune to interview some ...
评论点赞收藏617 天前

In Defence Of Coding Tests

Hiring software engineers is one of the most challenging and critical responsibilities for any team. Having founded a consultancy and led hiring for other companies, I know first-hand how much is at s...
评论点赞收藏631 天前

Freedom vs. Frameworks

In his book Drive, Dan Pink highlights autonomy as one of the critical motivators for high-performing teams. Autonomy empowers engineers to innovate, solve problems creatively, and own their work. But...
评论点赞收藏644 天前

Turn The Team Around!

Targets can be a double-edged sword. When poorly conceived they encourage behaviours that prioritise metrics over real success. For instance, setting a goal like “close 100 tickets this quarter” might...
评论点赞收藏645 天前

NPM Search Is Broken

As an active user of npm and an author/maintainer of several libraries, I’ve recently encountered significant problems with npm’s new search experience. While I appreciate the effort the npm team has ...
评论点赞收藏646 天前

Reminders as Code

In the fast-paced world of software engineering, missing a critical api-key renewal can cause significant disruption. In one event I was made aware of, the secret key for a third-party payment provide...
评论点赞收藏646 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。