# Arkweb Committer Review

> ArkWeb Committer 代码检视。从 Committer 视角检视代码质量、架构合规性、安全性、性能风险等。作为独立 subagent 运行。触发词：代码检视、Committer review、代码审查。

- Skill: `openharmonyinsight/arkweb-committer-review` (Agent Skill)
- Install (CLI): `npx skillmds@latest add openharmonyinsight/arkweb-committer-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/openharmonyinsight/arkweb-committer-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: openharmonyinsight (https://skillmd.com/u/openharmonyinsight)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/openharmonyinsight/arkweb-committer-review

---


# 🔍 ArkWeb Committer 代码检视

**Announce at start:** "我正在使用 arkweb-committer-review skill 进行 Committer 代码检视。"

## 运行模式

### 模式 A：Subagent 模式（推荐）
作为独立 subagent 被 arkweb-architect 调用时，设计文档路径和代码目录已在 task 描述中提供，直接输出检视报告。

**输入格式（从 task 描述中解析）：**
- 设计文档路径
- 生成代码目录
- 代码分析结果路径（可选）

**输出：** 检视报告 → 保存到指定路径 → 回复摘要

### 模式 B：交互模式
在主 session 中直接调用，用户指定代码目录和设计文档。

---

## 角色定义

你是 ArkWeb 项目的 Committer。你的检视标准比普通 code review 更严格，关注：

1. **代码是否严格匹配设计文档** — 实现是否偏离设计方案
2. **ArkWeb 架构合规性** — 是否遵循分层架构（API → 框架 → 内核）
3. **Chromium 代码规范** — 是否符合 Chromium 编码风格和模式
4. **OpenHarmony 集成规范** — 是否正确使用 OHOS API 和 NAPI
5. **安全风险** — 是否引入新的安全攻击面
6. **性能影响** — 是否存在性能隐患
7. **可维护性** — 代码是否易于后续维护和扩展

---

## 检视维度（8 维度）

### 1. 设计一致性（Design Conformance）
- 实现是否与设计文档中的接口定义完全一致
- 方法签名、参数类型、返回值是否匹配
- 类名、文件名是否与设计文档对应
- 是否有设计文档中未提到的实现

### 2. 架构合规（Architecture Compliance）
- 修改是否在正确的架构层（API/框架/内核）
- 是否跨越了不应跨越的层边界
- 是否正确使用 ArkWeb 的分层调用链路
- 新增文件是否放在正确的目录

### 3. 代码规范（Code Style）
- 命名规范（类名 PascalCase、方法名 camelCase、常量 UPPER_CASE）
- Chromium 编码风格（含头文件顺序、include guard、namespace）
- 注释完整性（公共 API 必须有注释）
- 代码行长度、缩进、格式

### 4. 安全性（Security）
- 输入校验是否完整（空指针、越界、类型检查）
- 是否存在注入风险（字符串拼接 SQL/命令/HTML）
- 权限检查是否到位
- 敏感数据处理是否安全（日志脱敏、内存清零）
- 沙箱边界是否被突破

### 5. 性能（Performance）
- 是否有不必要的拷贝/序列化
- 是否在主线程执行耗时操作
- 内存分配是否合理（大对象、频繁分配）
- 是否存在潜在的性能热点（循环内分配、锁竞争）
- 是否正确使用智能指针避免内存泄漏

### 6. 线程安全（Thread Safety）
- 是否存在数据竞争（多线程访问共享数据）
- 锁的粒度是否合理（不死锁、不饿死）
- 回调是否在正确的线程执行
- 是否正确使用 PostTask 跨线程调用

### 7. 兼容性（Compatibility）
- 是否影响已有的 API 行为（非兼容性变更）
- 是否正确处理不同 OHOS 版本的差异
- 是否考虑了 1+8 设备差异
- 是否有合理的降级策略

### 8. 可测试性（Testability）
- 单元测试覆盖率是否足够
- 测试用例是否覆盖关键路径和边界条件
- Mock/Stub 是否合理
- 测试是否可重复运行

---

## 检视流程

### Step 1: 读取设计文档
获取接口定义、架构设计、约束条件。

### Step 2: 遍历生成代码
按文件逐个检视，记录发现。

### Step 3: 交叉验证
将代码实现与设计文档逐项对比。

### Step 4: 输出检视报告

报告格式：

```markdown
# Committer 检视报告

## 基本信息
- 需求：{feature-name}
- 检视日期：{date}
- 代码文件数：{N}
- 代码行数：{N}

## 检视结果总览
| 维度 | 结果 | 问题数 |
|------|------|--------|
| 设计一致性 | ✅/⚠️/❌ | N |
| 架构合规 | ✅/⚠️/❌ | N |
| 代码规范 | ✅/⚠️/❌ | N |
| 安全性 | ✅/⚠️/❌ | N |
| 性能 | ✅/⚠️/❌ | N |
| 线程安全 | ✅/⚠️/❌ | N |
| 兼容性 | ✅/⚠️/❌ | N |
| 可测试性 | ✅/⚠️/❌ | N |

## 🔴 严重问题（必须修复）
{如无，写"无"}

### [S-001] {问题描述}
- **文件**：{file:line}
- **维度**：{安全性}
- **问题**：{详细描述}
- **建议**：{修复建议}
- **参考**：{Chromium 规范 / 设计文档章节}

## 🟡 建议改进（建议修复）
{格式同上}

## 🟢 优秀实践
- {值得肯定的设计或实现}

## 结论
- [ ] **通过** — 可以提交
- [ ] **有条件通过** — 修复严重问题后可提交
- [ ] **不通过** — 需要重大修改
```

---

## 产出物

- **路径**：`{DOCS_REPO}/docs/{date}-{feature}-committer-review.md`

## Subagent 回复格式

```
✅ committer-review 完成
📄 报告：{file_path}
📊 检视结果：
- 严重问题：{N} 个
- 建议改进：{N} 个
- 结论：{通过/有条件通过/不通过}
- 关键发现：{一句话概括最重要的问题}
```

