---
name: java_quality_guard
when: 'Java 代码质量, 代码审查, 质量门禁, 空catch, raw type'
scope:
  - shared
products:
  - '*'
id: ka-pattern-java_quality_guard
asset_kind: pattern
lifecycle_status: active
authority: supporting
routes:
  - '*'
primary_triggers:
  - Java 代码质量
  - 代码审查
  - 质量门禁
  - 空catch
  - raw type
priority: P2
specificity: 3
version: 1.0.0
last_reviewed: '2026-05-22'
consumes: []
emits: []
secondary_triggers: []
negative_triggers: []
type: pattern
status: active
---

## 决策规则

- hard gate: 空 catch、raw type（ArrayList 无泛型）、System.out、Thread.sleep
- advisory: 方法长度 >80 行、缺少 @Override
- 项目规则通过 loadProjectRules 加载，可覆盖内置规则
- 规则 ID 格式: JAVA-C###（hard gate）、JAVA-Q###（advisory）

## 验收项

- [AC-01] 空 catch 被检测
- [AC-02] raw type 被检测
- [AC-03] 项目规则覆盖内置规则
- [AC-04] advisory 规则不阻断

## 何时使用

advisory: Java 质量门禁中只有 hard gate 阻断，其余为建议

## 是否 hard block

否。此能力为 advisory 状态，违规仅产生 advisory 警告，不阻断流程。

## 证据要求

- hard gate 测试通过
- 项目规则覆盖测试通过
-

## 人工确认/降级边界

- 此能力可被开发者决策覆盖
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
- 降级/禁用需经 sf_capability_update + 人工确认
