ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Desloppify评分模型完全解析:25%机械检测+75%AI评审如何算出你的代码健康分

Desloppify评分模型完全解析:25%机械检测+75%AI评审如何算出你的代码健康分 Desloppify评分模型完全解析25%机械检测75%AI评审如何算出你的代码健康分【免费下载链接】desloppifyAgent harness to make your slop code well-engineered and beautiful.项目地址: https://gitcode.com/gh_mirrors/de/desloppifyDesloppify是一个给 AI 编码智能体使用的 Agent Harness它把机械检测死代码、重复、复杂度和AI 主观评审命名、抽象、模块边界结合在一个防作弊的评分体系里算出 0~100 的代码健康分。分数超过 98意味着代码库达到了资深工程师眼中漂亮的水平。先看全局分数只是北极星Desloppify 的核心循环是扫描 → 评分 → AI 评审 → 分诊 → 执行修复 → 重扫。健康分给智能体一个持续优化的方向工具链则负责把问题排成队列、逐项解决评分被刻意设计成不可刷分——唯一提分方式就是真正让代码变好。25/75 双池模型两个分数如何合并健康分来自两个相互独立的维度池池权重来源️ 机械池25%自动检测器代码异味、重复、安全等 主观池75%AI 代码评审架构、优雅度、契约等关键规则如果还没有跑过主观评审分数就是 100% 机械分一旦主观维度有了分数25/75 的比例自动生效。这个常量就写死在评分策略模块里core.pySUBJECTIVE_WEIGHT_FRACTION 0.75 MECHANICAL_WEIGHT_FRACTION 1.0 - SUBJECTIVE_WEIGHT_FRACTION最终合并公式非常简单健康分 机械池均分 × 0.25 主观池均分 × 0.75四舍五入到 1 位小数实现在 health.py 的_overall_health_score中。机械池五个维度公式透明每个机械维度由自动检测器打分公式是维度分 ((总检查数 − 加权失败数) / 总检查数) × 100五个维度在池内的权重维度池内权重关注点File health文件健康2.0结构性问题Code quality代码质量1.0死代码、异味、耦合、命名等 30 余种检测器Duplication重复1.0代码重复、样板重复Test health测试健康1.0测试覆盖缺口Security安全1.0依赖环、安全隐患注意不是所有检测器在每个项目都会触发——Rust 检测器只跑 Rust 代码React 检测器只在 TypeScript 项目生效。只有有检查量的检测器才参与维度计分。主观池12 个维度优雅度占主导主观分来自desloppify review的 AI 评审每个维度 0~100 分。权重分布完整表见 core.py维度权重说明High elegance / Mid elegance22.0 / 22.0架构分解与接缝质量是维护性的最大驱动Low elegance / Contracts / Type safety12.0 ×3防止正确性漂移和接口歧义Design coherence10.0架构意图的一致性Abstraction fit / Logic clarity / Structure nav8 / 6 / 5结构信号Error consistency / Naming / AI generated debt3 / 2 / 1低权重打磨项不主导分数变化设计意图一目了然优雅度、契约、类型安全这类架构级质量占据绝对主导命名规范和AI 生成债务只是轻微助推——它们是打磨项不该左右大局。置信度加权不确定的发现轻罚每个被检测出的问题都有一个置信度等级决定它作为失败计多少分定义于 scoring_constants.py置信度权重High1.0Medium0.7Low0.3一个低置信度问题对分数的拖累只有高置信度问题的 30%。这让可能误报的发现不会重罚你的分数。小样本衰减防止小维度左右大局机械维度还有一个采样衰减机制检查数少于 200 的维度权重按检查数比例缩减health.py。比如某维度只有 50 次检查它的有效权重只有配置权重的 25%。这防止只查了几行代码的维度对总分产生不成比例的影响。Lenient 与 Strict技术债务的显形Desloppify 跟踪两种计分模式core.pyLenient默认open、deferred、triaged_out的问题计为失败标记为wontfix、fixed、false_positive的不扣分Strictwontfix和auto_resolved也计为失败Lenient 与 Strict 之间的差距就是你通过不管了决定接受的技术债务量。想刷分把问题标记为wontfix只能在宽松分上苟住严格分会立刻把债务暴露出来。其他防作弊设计区域过滤只有 Production 和 Script 区的文件参与计分Test、Config、Generated、Vendor 区的问题不拖累健康分——但反过来你也无法靠多写测试文件来摊薄问题。按文件封顶部分检测器异味、测试覆盖、安全等按文件计分单文件问题数封顶1~2 个问题计 1.0 失败单位6 个以上封顶 2.0避免一个烂文件垄断整个分数。评审可降级主观维度重新评审时如果评审者发现新问题分数可能下降——评审不是只涨不跌的单向通道。快速上手三步拿到你的健康分pip install --upgrade desloppify[full] desloppify scan --path . desloppify status --jsonscan会跑机械检测器并生成评分卡支持 CI 的--profile ci只取机械快照status可读 strict/lenient 分数供脚本做阈值门禁。完整说明见 docs/scoring.md。分数不衡量什么重要❌ 不衡量功能完整度、性能、用户体验❌ 不同代码库之间不可直接比较500 文件的 85 分 ≠ 50 文件的 85 分✅ 它是改进趋势的跟踪工具而非绝对质量评级想深入源码关键模块路径模块作用desloppify/engine/_scoring/policy/core.py25/75 权重、维度权重、计分模式常量desloppify/engine/_scoring/results/health.py双池混合、透明化得分拆解desloppify/engine/_scoring/results/core.py检测器→维度的加权失败统计desloppify/base/scoring_constants.py置信度权重等全局常量docs/scoring.md官方评分说明文档Desloppify 的评分模型用一句朴素的话概括机械检测守住下限AI 评审拉高上限防作弊设计保证分数涨得诚实。把分数当作北极星让智能体沿着next → 修复 → resolve → next的循环走代码库会一轮轮地变干净。【免费下载链接】desloppifyAgent harness to make your slop code well-engineered and beautiful.项目地址: https://gitcode.com/gh_mirrors/de/desloppify创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表