---
# System prepended metadata

title: OOP作業教學

---

# OOP作業教學

感覺蠻多人有OOP的教學需求，所以打了這篇

## 作業大致流程

1. 下載專案
2. 編輯作業範本
3. 上傳作業
4. 檢查作業是否成功

## 1. 下載專案

> **警告：要先安裝好git才能做這一步**

```bash=
git clone <專案的位置>
```

在終端機用這個指令就可以把作業範本載下來了


### 範例

```bash=
git clone http://gitlab.is1ab.com/OOP2023f/homework.git
```

這樣就可以把助教的作業範本抓下來了
> **記得要連學校VPN才會成功**

## 2. 編輯作業範本

以HW1為例，可以在```README.md```中看到作業要求，像是以下圖片這樣

![](https://hackmd.io/_uploads/B1_kVoJW6.png)

照著裡面的需求編輯完code，就可以準備上傳了

## 3. 上傳作業

接著要用git上傳作業，如果不太會用git的話建議跟著以下步驟做

### (a) 將自己的作業抓下來

```bash=
git clone http://gitlab.is1ab.com/1115900XX/OOP2023f_1115900XX_HW.git
```

把XX改成自己的座號

執行完指令後，應該會有兩個專案

![](https://hackmd.io/_uploads/SJTY9oJb6.png)

### (b) 將作業範本的code，複製到自己的作業中

將除了```.git```資料夾的所有內容，複製下來

![](https://hackmd.io/_uploads/ByfgsokWT.png)

放到自己作業的資料夾中，然後取代

![](https://hackmd.io/_uploads/r18Lhs1-a.png)

### \(c\) 上傳作業

```bash=
git add .
git commit -m "update homework"
git push
```

在自己的作業資料夾下，打完這三行指令就可以將自己的作業上傳了

## 4. 檢查作業是否成功

主要檢查兩個東西

(a) 是否過測資
(b) coverage (程式碼覆蓋率)

### (a) 是否過測資

登入jenkins，等待一下下，如果出現兩個綠勾勾就成功了

![](https://hackmd.io/_uploads/HJqwAoJba.png)

### (b) coverage (程式碼覆蓋率)

 1. 點擊 OOP2023f_1115900XX_**HW** (XX是你的座號)
 2. 點擊左邊的工作目錄
 3. 點擊 `coverage_build/ut_all_coverage/index.html`
 4. 查看 Line Coverage 是否大於 95%
 
 ![](https://hackmd.io/_uploads/SkH3Nn1bp.png)

 > tips：function coverage, branch coverage 可以不用管他


