# 思维指南

> **目的**：扩展你的思维以发现你可能没有考虑到的事情。

---

## 为什么需要思维指南？

**大多数 bug 和技术债务来自"没想到那个"，而不是技能不足**：

- 没有考虑层边界会发生什么 → 跨层 bug
- 没有考虑代码模式会重复 → 到处都是重复的代码
- 没有考虑边界情况 → 运行时错误
- 没有考虑未来的维护者 → 难以阅读的代码

这些指南帮助你在编码前**提出正确的问题**。

---

## 可用的指南

| 指南 | 目的 | 使用时机 |
|-------|---------|-------------|
| [代码复用思维指南](./code-reuse-thinking-guide.md) | 识别模式并减少重复 | 当你注意到重复模式时 |
| [跨层思维指南](./cross-layer-thinking-guide.md) | 思考跨层的数据流 | 跨越多层的功能 |
| [跨平台思维指南](./cross-platform-thinking-guide.md) | 避免跨平台假设导致的 bug | 跨 macOS/Windows/Linux 开发 |

---

## 快速参考：思维触发器

### 何时思考跨层问题

- [ ] 功能涉及 3+ 层（API、Service、Component、Database）
- [ ] 数据格式在层之间变化
- [ ] 多个消费者需要相同的数据
- [ ] 你不确定把某些逻辑放在哪里

→ 阅读[跨层思维指南](./cross-layer-thinking-guide.md)

### 何时思考代码复用

- [ ] 你正在写与现有代码类似的代码
- [ ] 你看到相同的模式重复 3+ 次
- [ ] 你在多个地方添加新字段
- [ ] **你正在修改任何常量或配置**
- [ ] **你正在创建新的工具/辅助函数** ← 先搜索！

→ 阅读[代码复用思维指南](./code-reuse-thinking-guide.md)

---

## 修改前规则（关键）

> **在更改任何值之前，一定要先搜索！**

```bash
# 搜索你要更改的值
grep -r "value_to_change" .
```

这个习惯可以防止大多数"忘记更新 X"的 bug。

---

## 如何使用这个目录

1. **编码前**：浏览相关的思维指南
2. **编码中**：如果觉得重复或复杂，检查指南
3. **出现 bug 后**：将新见解添加到相关指南中（从错误中学习）

---

## 贡献

发现了新的"没想到那个"时刻？将其添加到相关指南中。

---

**核心原则**：30 分钟的思考节省 3 小时的调试。
