# F06: introspect
:::info
主講人: [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2019 年系統軟體課程](https://www.facebook.com/groups/system.software2019/)
:mega: 返回「[Linux 核心設計](http://wiki.csie.ncku.edu.tw/linux/schedule)」課程進度表
:::
## 預期目標
* 作業回顧,補完指定進度
* 為 [code review](https://en.wikipedia.org/wiki/Code_review) 做好必要的準備工作,練習 [Software peer review](https://en.wikipedia.org/wiki/Software_peer_review)
* 歌德說:「要欣賞自己的價值,就得給世界增添價值」,從反省和觀摩中重新檢視自己作品的具體突破,來日提出增添價值的途徑
* [軟體工程師要學會說故事](https://ruddyblog.wordpress.com/2016/06/18/),從良性詳盡的批評開始
## 作業要求
* 在 ==[Homework2 作業區](https://hackmd.io/s/rygjaEK8V)== 挑出自己以外的 4 項學生開發成果,在開發紀錄後方標注 "::: Reviewed by 你的GitHub帳號名稱",像是
> 開發紀錄(phonebook) / github ::: Reviewed by <`jserv`>
:::warning
中間的空白不要漏掉了,在 `)`, `/`, `:::` 之間都有。並且你的 GitHub 帳號名稱前後要標註 "`"
:::
* 每份開發成果至多只能被 3 個人批評,"Reviewed by" 後面的 GitHub 帳號用逗號 `,` 分隔
* 可參照 [2018 年春季 Homework1 作業區](https://hackmd.io/s/SJONH8fuz)
* 選定開發紀錄後,編輯內文,加上 `Reviewed by 你的GitHub帳號名稱` 的段落,[示範的 Review](/s/BJjL6cQ6),你的意見要寫在共筆的最上方,僅次於 "contributed by"。要從以下方面探討:
* 程式碼的 coding style, git commit messages
* 實驗設計的不足處、涵蓋程度是否全面,以及後續的改進空間
* 建議引入新的方法,如 memory pool,來縮減 `append()` 的時間成本,當然,你自己要先嘗試成功過
* 回覆原本在共筆中的疑惑
* 斟酌在選定的 GitHub repository 留下 code review 意見
* 在 [Homework2 指定作業](https://hackmd.io/s/rygjaEK8V) 挑出一項自認做不好的題目,繼續加強,沿用原有的 fibdrv 或 kcalc 共筆,並==列入你強化過的共筆到 [Homework3 (作業區)](https://hackmd.io/s/BJgx6jav4)==,過程中需要回應其他同學的評語意見和質疑
* 截止日期:
* Mar 31, 2019 (含) 之前