Hacker News | 📄 原文链接 | 2026-09-17 收录

这段代码很 CRAP:把圈复杂度与测试覆盖率合成一个风险分

来源:testing.googleblog.com — testing.googleblog.com · 43 分 · by luispa

📋 概述

CRAP(Change Risk Anti-Patterns)由 Alberto Savoia 与 Bob Evans 在 2007 年提出,Savoia 又在 2011 年的谷歌测试博客上把这个指标讲了一遍。它把方法级的圈复杂度与自动化测试覆盖率压成一个数字,用来预测「别人来改这段代码」要付出多少痛楚:覆盖率越接近 100%,第二项越趋近于零,分数退化成圈复杂度本身;覆盖率低而复杂度高时,分数会以平方速度膨胀,一个 0% 覆盖、复杂度 12 的方法能拿到 156 分。

🔑 核心要点

💡 金句

低 CRAP 分数说明代码的变更与维护风险低——它要么不太复杂,要么被自动化且可重复的测试保护得很好。
← 返回 Hacker News 首页