笔者在一家日本企业里面从事软件开发工作。作为一家典型的日本企业,软件开发的流程显然是按着日本的软件工程方式进行的。同样作为一家日企,在很多方面和欧美企业有着截然不同的开发角度。这里想讨论的,就是对Review和对Test的一些看法
日本企业对review是十分看重的。他们认为review是解决bug最好的办法,在开发中甚至会采用过度review的办法。
比较典型的是我们开发课长的想法:既然现在在工业生产领域不是在产品制造出来之后通过测试来判断质量,同样的软件开发就不应该通过测试来保证质量,而应该通过反复的review,来保证代码的质量。在这样的思想指导下甚至于把review作为通过CMMI的标准。
我认为这里存在三点问题。
一,把软件开发等同于工业生产。这是绝对不正确的。软件开发是一个高智力的活动,而不是零件的生产,每个部件都一样。在所谓构件时代没有大规模应用的时候,起码现在的软件更像一种工艺学,而不是工程学其含义就是,软件开发,更多的是一种渐进成熟的过程,代码从核心草案(有时候我们称之为详细设计)到最终成品(有时候我们称之为release)是要通过不断的测试才能渐进成熟。所谓测试,是把软件模块放到真是或者模拟真实的环境中去运行才能知道答案,这有点像科学研究。而review,更多的像是纸上谈兵。让一群没有参与代码开发的人对着陌生的代码看,要发现隐藏的bug?天方夜谈。
二,Review更像是一种作坊的产物,没有客观的评价标准,没有自动化工具,在大型项目,动辄几万行的代码中去寻找可能的bug,显然是不太可能的。如果硬要把软件工程比作建筑工程的话,review就好像用肉眼去观察每一块砖,每一面墙,只能有主观的影响,而真正的需要检验质量的时候,需要的是尺子和吊线,当使用这些工具的时候,对应于软件开发,就可以称为测试了。
三,现代软件开发中,所提倡的XP方法,都是以测试优先的,包括微软在内,所采用的开发方式也是测试优先,他们有专门的测试工程师,却没有Review工程师。死抱着Review的开发态度,只能让软件开发走入死胡同。
相关推荐
VS Code 1.98+ 集成 Claude Code 实战:5步配置 AI 编程助手,支持 @-提及与权限模式
本文详细介绍了如何在VS Code 1.98+中集成Claude Code AI编程助手,通过5个关键配置步骤实现智能编程工作流。涵盖环境准备、权限设置、上下文管理、高级定制及安全实践,帮助开发者显著提升编码效率与代码质量。特别解析了@-提及和权限模式等创新功能的应用方法。
如何做test review
Test Review Guidelines给出了一些review unit test时的一些准则,我简单翻译一下。 可读性: 确保setup和teardown方法没有被滥用。最好用factory method来提高可读性。 确保每个test只测试了一件事。 检查是否符合好的,一致的命名规范。 确保只有有意义的assert message才被用到,用有意义的test名称...
Codex CLI 本地集成 Claude Code:零延迟编程协作工作流
Codex 是面向代码理解与分析的专用 AI 工具,其核心能力基于 CLI 命令行接口与结构化配置驱动;Claude Code 则是 Anthropic 提供的对话式编程助手,强调自然语言交互与上下文感知。二者通过轻量插件协议实现本地进程直连,绕过云端 API 中转,在保障隐私、降低延迟的同时,将 Codex 的深度静态分析能力无缝注入日常开发对话流。该方案的技术价值在于统一认证、复用 config.toml 配置契约、支持 Git 项目级策略继承,并天然兼容开源模型(如 DeepSeek、vLLM)替代路
软件质量保证的最佳实践之一:Code review和Case review
上次翻译了一篇文章—— Bug分析:为bug预防奠定基础, 强调软件缺陷的预防。软件质量是构建起来的,由软件开发的整个过程质量所决定的,软件质量肯定不是通过测试测出来的。所以软件缺陷的预防自始至终是重要的。除了缺陷分析,另外一个很重要的实践就是:代码复审(code review)和测试用例的复审(Test Case review)。1.Code review在IBM、微软等很多公司都有一个
Claude Code Auto Mode:CLI驱动的VS Code智能协同范式
Auto Mode并非传统意义上的代码自动生成,而是一种以开发者意图为中心、深度集成本地开发环境的智能协同范式。其核心原理在于将编码任务解构为意图识别→环境探测→方案生成→安全执行→结果验证的闭环流程,依托Shell作为天然可信执行层,实现对CLI工具链、VS Code调试器与工作区配置的统一调度。技术价值体现在降低重复决策成本、提升跨环境兼容性与执行安全性,广泛应用于构建优化、异常诊断、CI/CD流水线治理及遗留脚本现代化等工程场景。本文聚焦Claude Code在VS Code中以CLI为枢纽的Auto
Parasoft C/C++test 2024.2进阶指南:从工具使用到CI/CD与质量内建实战
静态分析和单元测试是保障C/C++代码质量、提升软件可靠性的核心工程实践。其原理是通过自动化工具在代码编译或运行前检测潜在缺陷,并在开发早期验证函数逻辑,从而将质量问题“左移”,显著降低后期修复成本。对于嵌入式、安全关键等对可靠性要求极高的领域,结合MISRA等编码规范进行深度分析更是不可或缺的技术环节。Parasoft C/C++test作为一款企业级工具,其价值在于将上述实践无缝集成至完整的开发工作流中,特别是通过其C/C++test CT组件实现与CI/CD流水线的深度整合,并利用AI辅助功能提升静态
15个最佳的代码评审(Code Review)工具
代码评审可以被看作是计算机源代码的测试,它的目的是查找和修复引入到开发阶段的应用程序的错误,提高软件的整体素质和开发者的技能。代码审查程序以各种形式,如结对编程,代码抽查等。在这个列表中,我们编制了15个最好的代码审查工具,这将有助于开发者节省代码审查时间。 您可能感兴趣的相关文章 Web 前端开发人员和设计师必读精华文章推荐 精心挑选的优秀jQuery Ajax分页插件和教程 ...
VS Code深度集成Claude Code:IDE级AI工作流重构指南
IDE智能扩展已从语法提示进化为开发工作流的底层重构力量。以VS Code为执行平台、Claude大模型为智能体,通过认证网关、上下文引擎、MCP协议栈与权限沙箱四大技术模块,实现代码理解、Git操作、多工具协同等工程能力闭环。其核心价值在于将AI嵌入编辑、调试、提交等真实动作节点,而非孤立调用;技术落地高度依赖VS Code环境健康度(CLI注册、Shell继承、Git配置)与上下文感知精度(@-mention文件定位、Git索引缓存、模糊匹配权重)。适用于Vue/React项目重构、CI/CD辅助、跨语
思维导图的一个应用实例
Codex CLI 插件深度解析:本地化 AI 编程工作流三范式
AI 编程助手正从‘代码生成’迈向‘协作式工作流’新阶段。其核心原理在于将大模型能力嵌入开发者日常编辑环境,通过结构化提示(prompt)、进程间通信(IPC)与模型上下文协议(MCP)实现低延迟、高隐私的本地推理。技术价值体现在隐私可控、响应实时、调试透明与定制自由四大维度,广泛适用于金融、医疗等强合规场景及团队协同开发。本文聚焦 Codex CLI 与 Claude Code 深度集成所构建的三大可复用 workflow:标准审查、对抗性检查与任务移交,揭示其如何以离线方式重构 AI 编程的工程实践边界
Claude Code for VS Code:离线优先的工程化代码辅助工具
代码辅助工具正从通用AI生成走向深度工程集成。其核心在于模型对AST(抽象语法树)与类型系统的原生理解能力,而非简单文本补全。Claude Code for VS Code 以本地CLI架构实现离线运行,通过精准上下文切片、项目级规则注入(如ESLint/TSLint映射)和错误堆栈语义解析,显著提升修复建议的可落地性。该方案特别适用于金融、医疗等强合规场景,以及需嵌入CI/CD流程的中大型前端/Node.js项目,兼顾安全性、可控性与团队规范一致性。
Amazon Q Developer 核心能力全解(代码篇)
本文全面介绍了AWS AI开发工具Amazon Q的核心功能,包括代码生成、解释、翻译、优化等基础能力,以及单元测试生成、API文档自动编写、代码审查和安全漏洞扫描等进阶功能。重点展示了4个高效指令(/dev、/test、/doc、/review)的使用方法,并提供了可直接复制的新手提示词模板。文章还针对AWS特有场景(如IAM权限风险检测)和常见问题给出了解决方案,帮助开发者直接在VS Code中完成从代码开发到安全审查的全流程工作,大幅提升开发效率和质量。
VS Code Live Share 实时协作原理与工程实践指南
Live Share 是基于 Visual Studio Code 的实时协同开发协议,其核心并非远程桌面或云端托管,而是依托 Language Server Protocol(LSP)和 Debug Adapter Protocol(DAP)实现语义级代码共享,通过 WebRTC 建立 Host-Guest 端到端直连,保障源码不离本地、权限精细可控。该技术显著提升结对编程、远程调试与代码评审效率,适用于跨时区团队、安全敏感场景及新人上手等典型工程需求,是现代 IDE 协作范式的关键基础设施。
Agent Reach probe探测引擎源码解读:missing、broken、timeout三态如何区分
Agent Reach(agent-reach)是一个免费的命令行工具,让你的 AI Agent 拥有"看"到整个互联网的眼睛:一条 CLI 即可读取和搜索 Twitter、Reddit、YouTube、GitHub、Bilibili、Xiaohongshu(小红书),零 API 费用。它的 [doctor 体检机制](https://link.gitcode.com/i/09c7221656e6
深入Linux内核:PTP硬件时间戳(HW Timestamp)是如何炼成的?
本文深入探讨了Linux内核中PTP硬件时间戳(HW Timestamp)的实现原理与实战应用。通过分析IEEE 1588协议在网络时间同步中的关键作用,详细解析了硬件时间戳在Linux内核中的架构设计、驱动开发及性能优化技巧,帮助开发者实现纳秒级精度的时间同步。
Dify平台+Excel批量分析实战:5分钟搞定大模型数据处理(附完整代码)
本文详细介绍了如何利用Dify平台的数据集功能,结合Excel和Python脚本,快速构建大模型批量数据处理流水线。通过实战案例演示,读者可在5分钟内完成客户反馈情感分析、产品文案生成等任务,实现从原始数据到结构化洞察的高效转化,极大提升工作效率。
Everything Claude Code终极指南:从零开始掌握50K+星标AI开发神器
Everything Claude Code是一个全面的Claude Code配置集合,包含代理、技能、钩子、命令、规则和MCP等组件。作为Anthropic黑客马拉松的获胜项目,它在GitHub上迅速获得了25,000+星标,成为AI开发领域的热门工具。本指南将帮助你从零开始,快速掌握这个强大的AI开发神器。 ## 项目概述:为什么选择Everything Claude Code? Ever
Android开发者必看:火山引擎API验签实战,5分钟搞定年龄变化接口调用
本文为Android开发者提供火山引擎API验签实战指南,重点解析HMAC-SHA256签名算法实现,并以年龄变化接口为例展示完整调用流程。通过OkHttp封装和性能优化建议,帮助开发者5分钟内快速集成火山引擎人像处理功能,解决API调用中的签名验证、参数编码等核心问题。
从 0 学习 Alibaba Open Code Review(二):ocr review 命令入口分析
上一篇文章中,从使用者角度跑通了 Alibaba Open Code Review 的基础流程,包括安装配置、ocr review、JSON 输出、自定义规则配置,以及工具调用日志分析。ocr review 可以识别 Git diff;ocr review 可以对变更代码生成审查意见;ocr review --preview 可以预览本次会审查哪些文件;ocr review --format json 可以输出结构化结果;.opencodereview/rule.json 可以影响审查重点。
[Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--地图(一)
上面3章图是完成后的效果图 游戏已完成,除了英雄外,基本还原了90%的游戏内容,一共13关,20种防御塔,30+种敌人,如上图,以假乱真吧 下面从地图模块起介绍我的方法,如有更好的方法,请留言一起讨论,游戏资源下载原版游戏数据包,解压即可 推荐一款软件,TextureUnpackerRelease1.04可以分割plist形式的图片,提高效率 经过一个月学习也发现之前有很多化简为繁的错误
Windows 11 IoT企业版LTSC 24H2/25H2中文版安装指南(含OEM激活教程)
本文详细介绍了Windows 11 IoT企业版LTSC 24H2/25H2中文版的安装与OEM激活全流程。从系统镜像准备、硬件兼容性检查到自动化安装配置,再到OEM激活方案(包括SLIC注入和数字许可证激活),为工业自动化、数字标牌等物联网设备提供稳定可靠的系统部署指南。
AB Testing Review
Cracking A/B Testing Problems in DS interview https://towardsdatascience.com/7-a-b-testing-questions-and-answers-in-data-science-interviews-eee6428a8b63 power = 1 - (Type 2 error) More samples if sample variance is larger. Less samples if differen
【C#学习记录】如何让界面控件实现自适应布局(Winform)
小伙伴们大家好,我是雷工!在软件界面设计中,客户常常要求设计的界面可以随意缩放,缩放过程中,界面中的按钮等控件也会随着窗体变大缩小自动调整显示位置和尺寸大小。在C#的Winform窗体中如何实现这个效果,下面我们一起学习下。
如何在5分钟内完成Gemini CLI与VS Code的完美集成
Gemini CLI是一个强大的开源AI助手,它将Gemini模型的智能能力直接带到你的终端中。这个创新的工具让开发者能够在命令行界面中直接与AI交互,实现代码理解、生成、调试和自动化任务。今天,我们将重点介绍如何将Gemini CLI与VS Code进行深度集成,打造一个无缝的AI辅助开发环境。 ## 为什么需要IDE集成? 传统的命令行工具往往与开发环境割裂,而Gemini CLI的IDE
网络工程师如何利用Python自动Telnet到N个路由器并执行配置?
telnetlib是Python标准库中的一个模块,专门用于实现Telnet协议。通过telnetlib,我们可以方便地与支持Telnet协议的远程设备进行通信。telnetlib提供了基本的Telnet功能,如连接远程主机、发送命令、读取响应等,使得编写Telnet自动化脚本变得非常简单。文档:可以选择中文:虽然telnetlib的功能相对基础,但对于大多数Telnet操作来说已经足够。通过telnetlib,可以轻松地实现与网络设备的交互,完成自动化配置任务。
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
426



被折叠的 条评论
为什么被折叠?



