# Hello Arch

> 重构代码、调整模块结构、管理依赖、拆分文件、提取组件、设计系统架构或做代码组织决策时使用。

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

---


架构相关变更必须遵循以下规范。

## 编码前
先画出当前→目标依赖关系和变更路径，再写代码。

## SOLID 原则
- 单一职责：一个模块/类只做一件事，变更只有一个原因
- 开闭原则：扩展开放，修改关闭——新功能通过扩展实现
- 依赖倒置：高层不依赖低层，都依赖抽象（接口/协议）

## 边界与分层
- 清晰的模块边界，通过接口通信
- 依赖方向：外层 → 内层（UI → Service → Repository）
- 循环依赖 = 架构问题，必须解决
- 配置与代码分离，环境变量管理

## 代码组织
- 按功能分组（feature-based），非按类型分组
- 代码体积控制（同 HelloAGENTS 编码原则）：文件/类预警 300 行、强制拆分 400 行，函数预警 40 行、强制拆分 60 行。例外：生成代码、大型测试夹具、迁移脚本、协议常量表
- 公共逻辑提取到 shared/，但避免过早抽象
- 三次重复才提取——两次相似不够

## 变更策略
- 评估变更的影响范围（blast radius）
- 大重构分步进行，每步可独立验证和回滚
- 区分真实外部契约与内部实现惯性：公开 API、持久化数据、已文档化集成、用户承诺等真实契约要评估兼容与迁移；内部调用方、旧命名、旧目录结构和历史兼容层不自动保留，必要时先按核心规则判断目标模型，再按分阶段路径落地

## 交付检查
- [ ] 无循环依赖
- [ ] 文件/类不超过 400 行，函数不超过 60 行（例外类型除外，非压缩代码）
- [ ] 依赖方向正确（外 → 内）
- [ ] 变更范围可控
- [ ] 技术方案符合 HelloAGENTS 技术选型原则；若当前模式未加载实现要求中的工程质量下限，则至少满足技术选型原则且新项目无过时依赖

