# 🚀 快速開始指南

## 👋 歡迎使用 SDD 開發技術教材

這份指南將幫助你在 **30 分鐘內**開始使用這套教材，並在 **第一天**完成實際操作。

---

## 📋 開始前的準備

### ✅ 確認你具備

- [ ] 一台可以上網的電腦（Mac、Windows 或 Linux）
- [ ] 基本的英文閱讀能力
- [ ] 願意學習的心態
- [ ] 每天至少 1 小時的學習時間

### ❓ 不需要具備

- ❌ 電腦科學學位
- ❌ 程式設計經驗
- ❌ 數學或演算法知識
- ❌ 昂貴的開發工具

---

## 🎯 三種學習路徑選擇

### 路徑 A：完全新手（推薦）
**適合：** 從未寫過程式碼的人

**時間：** 8 週，每週 5-7 小時

**流程：**
```
Week 1-2: 基礎建立
  ↓
Week 3-4: 核心技能
  ↓
Week 5-6: 進階應用
  ↓
Week 7-8: 整合實踐
```

**今天就開始 →** [Day 1 計劃](#day-1-完全新手)

---

### 路徑 B：有基礎者（快速通道）
**適合：** 學過一點程式，想學習 SDD 方法

**時間：** 4 週，每週 8-10 小時

**流程：**
```
Week 1: 規格驅動 + 工具設定
  ↓
Week 2-3: SDD 核心循環
  ↓
Week 4: 架構設計 + AI 協作
```

**今天就開始 →** [Day 1 計劃](#day-1-有基礎者)

---

### 路徑 C：專業開發者（精進）
**適合：** 已經是開發者，想學習更好的工作方式

**時間：** 2 週，每週 10 小時

**流程：**
```
Week 1: 深入理解 SDD + TDD
  ↓
Week 2: 模組化架構 + AI 賦能
```

**今天就開始 →** [Day 1 計劃](#day-1-專業開發者)

---

## 📅 Day 1 行動計劃

### Day 1: 完全新手

#### 🌅 上午（1 小時）

**1. 閱讀課程簡介（15 分鐘）**
```bash
閱讀：00_電子書首頁.md
閱讀：01_前言_AI時代的軟體開發新典範.md
```

**目標：** 理解 SDD 是什麼，為什麼重要

**2. 了解學習路線（15 分鐘）**
```bash
閱讀：學習路線圖.md（前半部分）
```

**目標：** 知道接下來要學什麼

**3. 設定學習環境（30 分鐘）**
- [ ] 建立學習筆記本（紙本或電子都可以）
- [ ] 加入書籤：電子書首頁
- [ ] 預留每天的學習時間

#### 🌆 晚上（1.5 小時）

**4. 開始模組 0（45 分鐘）**
```bash
閱讀：模組內容/模組0_規格驅動思維.md
重點：什麼是 User Story
```

**練習：** 撰寫 3 個簡單的 User Story
```
範例：
身為一個線上教師，
我想要快速記錄學生的出席狀況，
以便於統計出席率。
```

**5. 使用 AI 學習（45 分鐘）**

打開 ChatGPT 或 Claude，試著問：
```
我是程式設計新手，正在學習「規格驅動開發」。

請用簡單的比喻解釋什麼是「User Story」？
並給我 5 個日常生活的例子。
```

**今日成就：**
- ✅ 了解 SDD 概念
- ✅ 撰寫了第一個 User Story
- ✅ 學會使用 AI 輔助學習

---

### Day 1: 有基礎者

#### 🌅 上午（2 小時）

**1. 快速掃描教材（30 分鐘）**
```bash
快速瀏覽：開發大綱.md
重點關注：每個模組的核心目標
```

**2. 設定開發環境（1.5 小時）**

按照模組 1 的指引：
```bash
# 安裝必要工具
- VS Code + 擴充功能
- Git（設定帳號）
- Node.js & npm

# 驗證安裝
node --version
npm --version
git --version
```

**建立第一個專案：**
```bash
mkdir my-sdd-learning
cd my-sdd-learning
git init
npm init -y
npm install --save-dev jest
```

#### 🌆 晚上（2 小時）

**3. 實戰練習（2 小時）**

選擇一個小功能實作：
```bash
閱讀：模組內容/模組2_SDD核心循環實戰.md
範例：時間追蹤系統的「記錄時間」功能
```

**今天完成：**
- [ ] 撰寫規格
- [ ] 撰寫測試
- [ ] 執行測試（紅燈）
- [ ] 簡單實作（綠燈）

**今日成就：**
- ✅ 開發環境就緒
- ✅ 完成第一個 TDD 循環
- ✅ 理解 Red-Green-Refactor

---

### Day 1: 專業開發者

#### 🌅 上午（2 小時）

**1. 深入理解 SDD 哲學（30 分鐘）**
```bash
閱讀：模組0 + 模組2
重點：與你現有的開發流程比較
```

**思考問題：**
- SDD 如何改善你目前的工作流程？
- 哪些概念可以立即應用到工作中？

**2. 分析現有專案（1.5 小時）**

選擇你的一個專案：
- [ ] 是否有清晰的規格文件？
- [ ] 測試覆蓋率多少？
- [ ] 模組化程度如何？
- [ ] 找出 3 個可以改進的地方

#### 🌆 晚上（3 小時）

**3. 實戰重構（3 小時）**

選擇一個現有功能進行重構：
```bash
1. 撰寫規格（補充文件）
2. 增加測試覆蓋率
3. 重構程式碼（保持測試通過）
4. 使用 AI 進行 Code Review
```

**今日成就：**
- ✅ 理解 SDD 與傳統開發的差異
- ✅ 在實際專案中應用 SDD
- ✅ 提升程式碼品質

---

## 📖 推薦閱讀順序

### Week 1: 建立基礎

**必讀文件：**
1. 📖 00_電子書首頁.md
2. 📖 01_前言_AI時代的軟體開發新典範.md
3. 📖 02_給跨領域學習者的信.md
4. 📖 03_如何使用這本電子書.md
5. 📘 模組0_規格驅動思維.md
6. 🛠️ 模組1_開發者工具包.md

**實作練習：**
- 完成環境設定
- 撰寫 5 個 User Story
- 執行第一個測試

---

### Week 2-3: 核心技能

**必讀文件：**
1. 🔄 模組2_SDD核心循環實戰.md
2. 📂 實戰專案導讀.md
3. 查看 sdd-practice-project/ 的範例

**實作練習：**
- 研究登入功能範例
- 實作時間追蹤功能
- 達到 60% 測試覆蓋率

---

### Week 4-6: 進階應用

**必讀文件：**
1. 🏗️ 模組3_軟體架構入門.md
2. 🤖 模組4_進階AI協作.md
3. 📚 AI學習Prompt大全.md

**實作練習：**
- 設計模組架構
- 使用 AI 協作開發
- 完成完整專案

---

## 🆘 遇到問題怎麼辦？

### 問題 1：不知道從哪裡開始
**解決：** 跟著 [Day 1 計劃](#day-1-完全新手) 一步步來

### 問題 2：看不懂程式碼
**解決：** 
1. 先理解規格，不要急著看程式碼
2. 使用 AI：「請解釋這段程式碼在做什麼」
3. 查看：學習支援/常見問題FAQ.md

### 問題 3：測試一直失敗
**解決：**
1. 仔細閱讀錯誤訊息
2. 檢查檔案路徑是否正確
3. 查看：學習支援/錯誤訊息速查.md

### 問題 4：覺得進度太慢
**解決：**
- 這是正常的！學習需要時間
- 重質不重量
- 查看：學習支援/學習卡關怎麼辦.md

---

## 🎯 本週目標設定

### Week 1 目標
- [ ] 完成環境設定
- [ ] 理解 SDD 基本概念
- [ ] 撰寫第一個規格
- [ ] 執行第一個測試

### Week 2 目標
- [ ] 完成一個 TDD 循環
- [ ] 理解 Red-Green-Refactor
- [ ] 達到 60% 測試覆蓋率

### Week 3-4 目標
- [ ] 獨立完成一個功能
- [ ] 使用 AI 協作開發
- [ ] 測試覆蓋率 > 80%

---

## 📚 學習資源快速連結

### 必備工具
- [VS Code 下載](https://code.visualstudio.com/)
- [Git 下載](https://git-scm.com/)
- [Node.js 下載](https://nodejs.org/)

### AI 工具
- [ChatGPT](https://chat.openai.com/)
- [Claude](https://claude.ai/)
- [GitHub Copilot](https://github.com/features/copilot)

### 參考文件
- 📖 [關鍵字速查表](./關鍵字速查表.md)
- 🤖 [AI學習Prompt大全](./AI學習Prompt大全.md)
- ❓ [常見問題FAQ](../學習支援/常見問題FAQ.md)

---

## ✅ 第一週檢核清單

完成以下項目，代表你成功踏出第一步！

**理解層面**
- [ ] 我知道什麼是 SDD
- [ ] 我知道什麼是 User Story
- [ ] 我知道什麼是 TDD
- [ ] 我理解為什麼需要測試

**工具層面**
- [ ] VS Code 已安裝並設定
- [ ] Git 已安裝並設定
- [ ] Node.js 和 npm 已安裝
- [ ] Jest 測試框架可以運行

**實作層面**
- [ ] 撰寫了至少 3 個 User Story
- [ ] 執行了第一個測試
- [ ] 看懂了範例程式碼
- [ ] 知道如何使用 AI 學習

---

## 🎉 恭喜你開始了！

記住：
> 「千里之行，始於足下。每一位專業開發者都是從第一行程式碼開始的。」

**現在就開始吧！** 選擇你的學習路徑，完成 Day 1 的任務。

有任何問題，隨時查閱：
- 📖 [學習路線圖](../學習路線圖.md)
- 🆘 [學習支援](../學習支援/)
- 📚 [模組內容](../模組內容/)

祝你學習愉快！🚀

