# 亞太智能機器 Issue Flow - 簡化版 v1
## 目錄
* [流程](#流程)
* [標籤角度](#標籤角度)
* [流程圖的角色](#流程圖的角色)
* [人的角度](#人的角度)
* [**我** 應該要做啥?](#所以說-我-到底要幹嘛?)
* [單字解說](#單字解說)
* [表格](#表格)
## 流程
### 標籤角度
> 一律都是 **改完** 標籤再丟給對方
> 顏色及角色,詳見 [流程圖的角色](#流程圖的角色)
```mermaid
graph TB
classDef sa color:#fff,font-size:16px,line-height:1.3,fill:#f0ad4e,stroke:#333,stroke-width:2px;
classDef pg color:#fff,font-size:16px,line-height:1.3,fill:#5CB85C,stroke:#333,stroke-width:2px;
classDef mt color:#fff,font-size:16px,line-height:1.3,fill:#595992,stroke:#333,stroke-width:2px;
classDef pm color:#fff,font-size:16px,line-height:1.3,fill:#5843ad,stroke:#333,stroke-width:2px;
分析["標籤:分析 <br /> 負責人:SA"] --"(分析完)"--> 分析完成
分析完成["分析完後如何處理? <br /> 1. 改標籤 <br /> 2. 跟 PG 討論沒問題就丟給他"] --"(標籤變了)"--> 開發
開發["標籤:開發 <br /> 負責人:PG"] --"(開發完)"--> 開發完成
開發完成["開發完後如何處理? <br /> 看程式要不要合併"] --"(要)"--> 發_MR["發 MR"]
開發完成 --"(不用) <br />"--> PG_改標籤
PG_改標籤["改標籤"] --"(標籤變了)"--> 測試
發_MR --> MT_審查
MT_審查["MT 審查程式碼 <br > 1. 能動 <br /> 2. 品質"] -- "(直到合併)" --> PG_改標籤
測試["標籤:測試 <br /> 負責人:SA"] --"(測試完)"--> 測試完成
測試完成["測試完後如何處理? <br /> 1. 功能正常否? <br /> 2. 要不要報告?"] --"(功能正常)"--> 報告
測試完成 --"(功能異常)"--> 測試跳開發
測試跳開發["1. 找 PG 討論 <br /> 2. 真的不行就回 開發"] --"(標籤變了)"--> 開發
測試跳開發 --"(誤判,能接受)"--> 報告
報告["要報告否?"] --"(Yes)"--> 報告去
報告 --"(No)"--> 關_Issue["快把 Issue 關掉"]
報告去["報告去~ <br />"] --"(feedback)"--> 另起新_Issue
另起新_Issue["另起新 Issue"] --"(關掉舊的)"--> 關_Issue
報告去 --"(一切 ok)"--> 關_Issue
class 分析,分析完成,測試,測試完成,測試跳開發,報告,關_Issue sa;
class 開發,開發完成,發_MR,PG_改標籤 pg;
class MT_審查 mt;
class 報告去,另起新_Issue pm;
```
#### 流程圖的角色
```mermaid
graph TD;
classDef sa color:#fff,font-size:18px,line-height:1.5,fill:#f0ad4e,stroke:#333,stroke-width:2px;
classDef pg color:#fff,font-size:18px,line-height:1.5,fill:#5CB85C,stroke:#333,stroke-width:2px;
classDef mt color:#fff,font-size:18px,line-height:1.5,fill:#595992,stroke:#333,stroke-width:2px;
classDef pm color:#fff,font-size:18px,line-height:1.5,fill:#5843ad,stroke:#333,stroke-width:2px;
SA["這顏色是 SA"]
PG["我是 PG"]
MT["MT"]
PM["PM 在 issue flow 中不太會出現"]
class SA sa;
class PG pg;
class MT mt;
class PM pm
```
### 人的角度

## 所以說 **我** 到底要幹嘛?
> 君の名は?
SA :開 issue、派 issue、等 issue 回到你身上,測試功能是否正確。
PG:等 issue,開發,跟 MT 打架,打完再跟 SA 打架。
MT:審核 MR,看 test 有沒有過,code 乾不乾淨,有沒有能改進的地方。
> 當然你有可能同時是多個身分!!
## 單字解說
### 表格
| 縮寫 | 原名 | 中文 | 解釋 |
| -------- | -------- | -------- | ------- |
| SA | System Analyzer | 系統分析師 | 負責分析 Issue 拆分客戶需求的人 |
| PG | Programmer | 碼農 | 負責在開心農場裡面農程式碼的人 |
| MT | Maintainer | 維護者 | 負責專案的程式品質控管的人,就是管 MR 到底能不能 Merge 的人 |
| PM | Project Manager | 專案管理者 | 管專案的人,基本上不存在你只會看到滿滿的 PG 和 SA 在專案裡面跑 |
| MR | Merge Request | 合併請求 | PG 和 MT 會打架的階段 |
| X | Issue | 議題 | 你被指派的工作 |
| X | Flow | 流程 | |
| X | Label | 標籤 | 會標在 Issue 上的東西,人人有責 |
| X | Tag | 標記 | 你可以叫他標籤,不過他是標版本號的東西 |
###### tags: `Documentation` `IssueFlow` `議題流程`
> [name=winnie wang]在流程圖中,標籤:開發,負責人:PG後改為 「**與 SA 確認需求(加入此流程)** -> 開發完 -> 開發完後如何處理? 看程式要不要合併」