浏览软件工程相关的文章。
沿着文档服务的请求路径,区分训练与推理,了解 GPU、HBM、网络、电力和冷却怎样影响吞吐量和成本。
探讨 AI 加快实现速度是否意味着自研更划算。将文档服务的开发和运营人工成本、Codex 订阅及 API 费用,与 SaaS 的实际席位价格比较,并按相同需求计算 12 个月总拥有成本,分析维护工时和可迁移性如何影响选择。
从数据、工作流程、权限与完成质量出发,检验更换模型后仍能为客户带来的价值。
为虚构的文档摘要服务设计定价,比较三种收费方式,并核对包含用量、追加购买、失败扣除和试用成本。
区分用户请求、模型调用与成功任务,将重试、缓存和非模型开销计入成本,算出每项成功任务的费用。
从含税收款中分离收入,计算开发、基础设施与请求成本,并按客户用量估算边际贡献和盈亏平衡点。
用搜索功能示例说明如何在团队开发中使用 Claude 和 Codex,串联任务请求与契约、上下文与模型选择、实现与验证、交接与 PR 审查。通过阶段完成标准、返工处理、任务记录和指标,逐步改进适合团队的开发方式。
介绍如何将 Claude 和 Codex 的编码工作拆成并行任务,用 Git worktree 隔离修改。明确文件职责、API 契约以及端口和数据库的共享范围,再依次集成成果。涵盖冲突处理、集成验证以及时间和成本的比较标准。
介绍如何在新会话中继续 Claude 和 Codex 的长任务。简要记录目标、代码状态、验证依据和下一步,并与实际文件核对。说明对话压缩和会话恢复的区别,以及如何检查未提交的变更和过时的记录。
介绍如何用提示词缓存降低 Claude 和 Codex 处理重复输入的成本,说明固定指引与任务输入的排列方式、OpenAI 和 Anthropic 缓存用量的解读,以及未命中的排查方法。区分 API 和编码工具的配置范围,并通过总成本与质量验证效果。
介绍如何同时衡量 Claude 和 Codex 的 token 用量与实际开发效率,按任务记录和比较完成率、人工返工时间、验证耗时及每项完成任务的成本。涵盖失败与中止的统计、同条件实验,以及如何按指标选择改进顺序。
介绍验证 Claude 和 Codex 代码改动的实用流程,涵盖失败复现、类型检查、测试与浏览器行为。用搜索筛选器说明回归测试、失败日志反馈和停止重试的条件,以及如何报告执行依据与未验证范围。
介绍如何按 AI 编码任务的难度和风险选择模型及推理强度。为快速修改、常规实现、复杂设计与验证设定起始路径和升级规则,兼顾 Claude 和 Codex 的成本、延迟及质量,并说明团队如何落地。
区分 AI 编码代理加载 Skill 和 MCP 的时机,按需载入指引与工具。通过核对说明元数据、工具定义和调用结果减少 token 浪费,并比较 Claude Code 与 Codex 的加载方式。
把目标、范围、约束、完成条件、验证方法和决策边界写成清晰的任务契约。通过对比例子与实用模板,减少返工,提高实现质量与团队协作效率。
通过仓库结构让 AI 编码代理按需阅读信息。拆分 AGENTS.md、任务文档和子目录指引,减少上下文浪费与返工,并在 monorepo 中明确连接通用规则与局部规则。
介绍如何设计互不重复的 AGENTS.md 和 CLAUDE.md,区分通用规则与工具专用规则,并根据 Codex 和 Claude Code 的加载方式,用实用模板减少上下文开销和返工。
介绍用 Claude 和 Codex 开发时如何通过上下文工程减少 token 与返工。提供可直接在开发仓库使用的任务请求模板、检查清单、衡量指标与比较方法,涵盖任务范围、仓库指引、工具输出和验证循环。
我们总结了由 14 部分组成的 TDD 系列,并了解 TDD 的维护优势和未来的学习方向。还包括一个实用代码存储库。
了解将 TDD 引入实践时面临的现实问题(开发成本、进度、团队说服)以及设置有效测试范围的标准。
了解单元测试与集成测试的区别,并使用 @SpringBootTest 验证从请求到数据库的完整流程。
当运行中的项目新增折扣政策等需求时,学习用 TDD 扩展功能,并保护已有代码。
了解隐藏依赖、随机值和时间为何让代码难以测试,并通过依赖注入重构代码。
我们介绍如何测试用户输入验证 (@Valid) 和业务异常处理,甚至了解如何使用 @RestControllerAdvice 进行全局异常处理。
这涵盖了测试 Controller 层的过程,该层首先使用 @WebMvcTest 和 MockMvc 接收用户请求,并验证 API 请求和响应。
涵盖了 Mockito 框架的深入内容。了解状态验证和行为验证之间的区别,并学习如何使用 Mock 对象来完全隔离依赖关系。
将内存存储改为 JPA Repository,并使用 @DataJpaTest 隔离测试数据库逻辑。
了解在创建 API(Controller)之前先测试和实现核心业务逻辑(Service、Domain)的原因与方法。
TDD 的最后一个阶段是重构阶段。了解如何根据测试代码提供的稳定性来改进内部结构和分离职责。
介绍 TDD 的 Green 阶段,学习如何解决编译错误,并用最简单的实现让测试通过。
学习如何在实现功能前将需求整理为测试代码,并编写会失败的测试(Red)。
从 Spring Initializr 创建项目,学习 JUnit 5、AssertJ、Mockito 的基础用法,并了解测试包结构的组织方式。
了解 TDD 和红绿重构流程的基本概念,并了解为什么在 Spring Boot 环境中需要测试驱动开发。
学习识别对象、将对象分类为类、分配责任,并运用封装、抽象与多态设计 Java 软件。
通过示例了解系统建模基础:用上下文图明确系统边界和外部接口,用 UML 活动图可视化工作流与条件分支。
了解参与者、用例和场景的概念,并通过网上书店示例学习编写包含基本、备选和异常流程的用例规约。
了解软件开发关键阶段——需求分析的常用方法,包括正式与非正式分析、访谈、问卷、研讨会和观察法,以及需求追踪矩阵(RTM)的作用。
介绍 SRS 的作用与结构,结合示例说明如何定义功能与非功能需求,并梳理编写准则及常见错误。
介绍模型、视图与控制器的职责和交互,结合 Java 示例说明如何通过关注点分离提高应用的灵活性和可扩展性。
比较软件生命周期、瀑布模型、迭代模型与敏捷模型,了解如何根据真实项目特点选择合适的开发方式。
介绍面向对象设计的核心SOLID原则(SRP、OCP、LSP、ISP、DIP),通过Java示例理解各项原则的含义与重要性,并学习将其应用到实际代码中,构建易于维护、灵活的软件。
学习如何使用 UML 用例图直观展示系统功能及其与用户的交互,并通过实例理解参与者、用例、系统边界以及 include 和 extend 关系。
了解需求变化的原因,并学习灵活的开发策略、变更管理流程、需求追溯方法和实用工具。
了解如何避免在软件开发早期将聪明的想法与具体的功能需求混淆的错误。区分你想要的和用户真正想要的,并了解原型和文档的正确作用,以明确设定项目的方向。
了解 Scrum、XP、看板的核心实践,通过企业案例学习敏捷转型的成功条件、常见困难和反馈机制。
了解迭代式开发、进化式原型与瀑布模型的区别,并掌握敏捷宣言的四项价值和十二项原则。
了解抛弃式、演进式、低保真和高保真原型,以及它们的用途、优缺点和常见设计工具。
通过生命线、消息类型、激活和控制框理解 UML 时序图,并用在线书店用例展示对象如何按时间顺序协作。
通过实例了解 UML 类图的基础元素——类、属性、方法及其关系(继承、聚合、组合),学习如何清晰地可视化设计意图。
介绍Verification与Validation、静态检查和动态测试、测试阶段、黑白盒测试以及等价类划分。
介绍单元测试、测试套件、回归测试、驱动与桩,以及JUnit断言、Fixture和测试方法结构。
介绍如何从UML设计类图生成类定义、从交互图生成方法体,并确定对象实现顺序。
说明对象可见性与作用域的关系,以及参数、局部、属性和全局可见性。
从用例实现和操作契约出发,介绍GRASP对象设计中对象的协作与系统操作。
软件工程设计对象GRASP的描述
介绍设计类图、不同视角下的关联、UML关键字和构造型,以及交互图与代码之间的对应关系。
介绍 UML 交互图的类型及用法,包括链接、消息、对象创建、循环、多态,以及同步与异步调用。
介绍软件工程中的静态与动态对象设计,以及对象设计技术和UML的关系。
通过 UML 包图理解 UP 制品与逻辑架构,学习严格与宽松分层、包依赖、领域层、层级与分区以及模型-视图分离原则。