登录社区云,与社区用户共同成长
邀请您加入社区
关于 驱动开发方法 的详细分类、核心特点及对比分析,涵盖 TDD、MDD、BDD、DDD、ATDD、FDD、PDD 等主流方法
本文提出AI编程时代高效开发新范式:SDD(规范驱动开发)+TDD(测试驱动开发)组合。SDD定义清晰、结构化的行为契约,TDD通过测试固化契约并验证实现;AI专注中间代码生成,人聚焦需求理解与质量把控。实践表明,该方法可使线上bug率降72%、迭代速度提40%,真正兼顾效率与质量。
在日常办公中,我们经常需要处理大量重复性任务,例如文件操作、数据处理、邮件发送和表格整理等。手动完成这些工作不仅耗时,还容易出错。借助Python强大的生态系统,我们可以编写简单的脚本来自动化这些流程,从而显著提升工作效率。即使您没有编程背景,只需花费十分钟掌握一些基础代码,也能轻松实现办公自动化。通过上述简单的Python代码示例,您可以看到自动化办公的巨大潜力。这些基础技能只需十分钟就能掌握,
本文面向 Node.js 开发者,旨在帮助构建高质量、可维护的应用。文章首先强调调试与测试是软件质量的基石,提出调试需遵循科学方法(观察-假设-验证-修正),测试应遵循金字塔模型(单元/集成/端到端测试)。介绍了 Jest 测试框架的使用方法,并通过 math.js 案例演示了同步/异步测试及模拟技术。最后分享 TDD 工作流程和 VS Code 断点调试技巧,提供了质量保障最佳实践清单和学习路径
本文介绍了一套完整的无障碍测试技术方案,重点涵盖自动化工具链集成与CI/CD落地实践。方案基于axe-core+Selenium实现WCAG合规检测,结合Pa11y进行持续集成测试,并通过Playwright模拟视障用户操作。文中提供了Python代码示例展示缺陷分析、移动端适配等关键技术实现,包含pandas数据分析和matplotlib趋势监控等效能提升策略。该方案支持与Jenkins/Git
摘要:本文探讨了将测试驱动开发(TDD)与Claude Code结合的方法,显著提升AI生成代码的质量。核心流程包括:1)先编写测试用例定义需求(RED阶段);2)指导Claude实现通过测试的代码(GREEN阶段);3)安全重构(REFACTOR阶段)。实践表明,采用TDD方式可使首次通过率达85-95%,最终代码质量提升至98%。文章详细介绍了三种协作模式、测试优先的提示工程技巧,以及如何通过
谈到应用程序的UI,其实包括两个方面的内容:一方面是纯图形的look & feel;另一方面,则是用户和应用程序的交互。用户和应用程序的交互往往同时导致图形界面的变化,并且,转换到新的交互行为。由于工作实践中主要是基于WEB的HTML和JavaScript的项目,这里对TDD in UI的讨论,将focus在基于HTML和JavaScript的UI。同时,一般来讲,WEB程序的表现层主要有客户端代
GitHub上的test-driven-spring-boot项目是一个采用TDD(测试驱动开发)方式编写的Spring Boot云原生应用示例,获得112星。该项目演示了如何从需求出发先写测试再写实现代码的完整流程,包含Docker容器化依赖、Spring Boot Actuator配置、Pact契约测试集成等功能。通过开关参数可灵活控制Testcontainers和Pact测试的启停,适合需要
《AI辅助测试驱动开发实战指南》摘要: 本文针对AI生成代码缺乏测试覆盖的问题,提出结合TDD(测试驱动开发)的方法论。文章详解TDD红-绿-重构三步骤循环,提供AI生成测试用例的提示词模板和最佳实践,重点覆盖边界条件与异常场景。通过用户注册功能的完整案例,展示如何用AI高效生成单元测试、模拟依赖和验证交互。同时构建测试金字塔策略,推荐单元测试(70%)、集成测试(20%)、E2E测试(10%)的
西门子PLC自带的时间记录功能用过的都知道,那玩意儿就跟闹着玩似的,扫描周期造成的误差能气死人。西门子PLC精确计算设备运行时间程序,1200PLC和1500PLC通用,两次读取PLC的实时时间做比较,这样就可以不算入PLC每次扫描时间,非常准确的记录设备运行时间。PLC的扫描周期虽然不稳定,但两次读取动作发生在同一个扫描周期内,系统时间的差值刚好就是程序处理实际业务逻辑的时间。这段处理跨天的逻辑
但实际应用中,工程师更喜欢手动锁定工作模式。比如充电器设计中故意让轻载时进入DCM模式降低损耗,这时候Mathcad的变量联动功能就派上用场了——修改负载电阻值时,所有关联参数实时更新,比Excel的循环引用可靠多了。输入电压范围、输出功率、开关频率这些参数拍在桌面上时,Mathcad的符号运算能直接生成关键参数。不过别忘了,实际选型时得考虑散热条件,Mathcad里可以加个温升估算模块,避免纸上
不要对号入座。实际工作中别教条,bug修复、快速验证这些,直接上TDD修就行的,没必要为了方法论而方法论。如果你开始做一个有一定规模的新功能、新模块时,才值得花时间先写规格再动手。很多公司的代码规范和流程已经固定了,不可能因为你读了这篇文章就推倒重来。你可以在自己的新项目里试试"SDD在上、TDD在下"的工作流,感受一下跟"边写边想"的区别。
已知openspec一条命令有对应的skill。如果要在本地openspec的基础上扩充功能,比如扩充一条命令,需要找到本地路径。C:\Users\你的名字\.cursor\skills\opsx-superapply\├── SKILL.md ← 主编排器(146行)├── implementer-prompt.md ← 实现子agent提示词模板├── spec-reviewer-prompt
自动压缩在约83.5%触发,且是有损的:有开发者因此丢失了3小时的重构工作,压缩后只保留了约20%-30%的细节。Anthropic对偏离轨道的会话的建议非常坦诚:在让智能体工作前保存状态,让它运行,然后要么接受结果,要么重新开始,而不是费力纠正。智能体在无引导下的单步决策准确率可能很高,但当面对包含20个决策点的特性开发时,即便每步准确率80%,最终完全正确的概率也仅有0.8²⁰≈1%。Anth
TDD(测试驱动开发)采用"先测试后编码"的逆向流程,通过"红-绿-重构"循环推进:红阶段定义失败测试,绿阶段实现最小化通过方案,重构阶段优化代码结构。在AI时代,TDD优势凸显——AI能快速生成测试用例,配合该流程可产出更健壮的代码。但需注意:复杂分支逻辑更适合TDD,而简单调用则收益有限;且频繁变更的需求会导致前期测试用例失效,反增开发成本。传统开发中TDD因耗时未被广泛采用,但AI辅助使其重
TDD 管的是"怎么把一件确定的事做对",SDD 管的是"先把这件事到底是什么想清楚"。对新手来说,不用纠结"该学哪个",它们解决的是软件开发里两个不同阶段的问题——而在 AI 帮你写代码的今天,"先把事情想清楚"这一步,正在变得比以前更重要。
我使用一个技能进一步扩展此模式。当会话开始退化时,该命令导出一个结构化交接文件,包含已完成工作、未决决策、需避免的陷阱和相关文件路径。下一个会话读取该文件,仅携带重要信息,没有会话臃肿。你也可以通过延迟加载工具来主动节省上下文。一个项目通过使用钩子,仅在用户提示触发关键词时注入技能定义,而不是在启动时预加载所有内容,从而为每次会话节省约15,000 token。所有这些背后的简单规则:一次对话只处
传统开发流程里,需求文档写完,开发就开始写代码。规格如果写的话,往往夹在需求文档的段落里,或者散落在各个接口文档中,不是独立的一级产物。SDD 把这个顺序倒了过来:在动手写任何实现代码之前,先把"做成什么样算对",写成一份独立、完整、人能审的规格,审过之后,代码从规格生成。好的 spec 讨论的是场景——在什么情况下、解决什么问题、输入和输出是什么。它不讨论用什么框架、数据库怎么设计、服务怎么拆分
在古法编程时代,TDD 因为人力的局限性,成为了一座可望而不可及的象牙塔;而在 AI 编程时代,代码的生成和跑测成本被降到了近乎为零。TDD 的那套“红-绿-重构”规则,不再是束缚程序员的紧箍咒,反而成为了 AI 智能体在线上自主开疆拓土时最坚固的安全绳。
本文介绍了如何深度整合OpenSpec、Superpowers和Claude Code三种工具,提供三种CI/CD集成方案构建规范驱动开发(SDD)工作流。首先详细说明了10分钟环境搭建步骤,包括OpenSpec CLI安装、项目初始化等。重点阐述了三种联合工作模式:标准交接模式、嵌入式协作模式和轻量级TDD模式,并以"订单退款功能"为例演示标准交接模式的完整开发流程。最后给出
作为一名独立开发者,我最近大半年几乎每天都在和AI(Cursor、Copilot、Claude)一起写代码。AI经常“理解错”我的意图。我说“加一个用户登录功能”,AI自作主张加了邮箱验证、找回密码、记住我……我说“优化性能”,AI重构了整个架构,改了一堆我根本不想改的地方更糟糕的是,AI写了一大堆代码,跑起来全是Bug,我甚至不知道该从哪儿开始测试直到我把TDD(测试驱动开发)和BDD(行为驱动
摘要:AI时代软件开发方法论的演进与挑战 本文探讨了在AI编程工具兴起的背景下,传统软件开发方法论(TDD、BDD、DDD)与新范式(SDD)的定位与价值。文章首先梳理了五种"DD"方法论的演进历程:从TDD的测试驱动、BDD的行为描述、ATDD的验收标准,到DDD的领域建模,再到新兴的SDD规范驱动。这些方法分别解决了代码正确性、业务理解一致性、功能完成标准、业务复杂性映射等
DDD 分层架构在 Java 里有 Spring 做依赖注入,在 Rust 里怎么办?本文记录了我在 Pico-CRM 项目中用 Rust trait + 泛型 + 构造器注入实现 domain/application/infrastructure 三层架构的完整过程。没有 DI 容器、没有框架黑魔法,靠 Rust 类型系统本身就实现了严格单向依赖。包含各层真实代码、mock 测试方案、trait
要让AI在Spring Boot项目中落地TDD开发,需通过配置文件约束、环境集成和指令诱导三管齐下。关键是在项目根目录创建claude.md文件,明确规定TDD流程:测试先行、红灯运行、最小实现、绿灯验证和重构。同时确保AI能操作终端运行测试命令,并通过精准指令引导AI按TDD步骤开发。针对Spring Boot项目,还需加入特殊校验技巧如JsonPath校验、数据库回滚和依赖模拟。这种模式下,
简单来说,TDD for AI就是在让 AI(如 Claude Code, Cursor, GPT-4)编写逻辑代码之前,先由人工或 AI 定义好自动化测试用例。需求 -> 人写代码 -> 人写测试 -> 运行。需求 ->定义测试(断言结果)->AI 生成代码->自动运行测试->AI 根据报错自修复-> 成功。它是将 AI 从一个“概率性文本生成器”转化为“确定性工程工具”的核心。开发者不直接写代
摘要 Midscene.js 是一套基于视觉识别的UI自动化运行时系统,其核心创新点在于将传统UI自动化流程重构为四个层次:视觉理解、设备执行、结果校验和报告记录。与传统的基于元素定位的自动化工具不同,Midscene采用"先识别屏幕内容再操作"的模式,通过截图让AI模型判断目标位置,再转换为设备坐标执行操作。该系统特别适用于selector不稳定、自绘界面复杂、弹窗变化频繁以
tdd
——tdd
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net