--- title: 2020 年春季 Linux 核心設計課程作業 —— review image: https://i.imgur.com/yht9f2e.png description: 回顧 第 1 次作業,補完指定進度。為 code review 做好必要的準備工作,練習 Software peer review。 --- # J05: review ###### tags: `linux2021` > 主講人: [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2021 年系統軟體課程](https://www.facebook.com/groups/system.software2021/) :mega: 返回「[Linux 核心設計](http://wiki.csie.ncku.edu.tw/linux/schedule)」課程進度表 ==[解說錄影](https://youtu.be/Gwb-PC1azR0)== ## :memo: 預期目標 * 強化[第 1 次作業](https://hackmd.io/@sysprog/linux2021-homework1),補完指定進度 * 為 [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/),從良性詳盡的批評開始 ## :rocket: Code Review * 錄影: [Amazing Code Reviews: Creating a Superhero Collective](https://youtu.be/ly86Wq_E18o) * Google 公司提供的 [Technical Writing Courses](https://developers.google.com/tech-writing) > ==Every engineer is also a writer.== ## :penguin: 作業要求 1. 研讀上方 :rocket: **Code Review** 區域所列出的錄影及投影片,在 ==[Homework1 作業區](https://hackmd.io/@sysprog/linux2021-homework1)== 挑出自己以外的 3 項學生開發成果並給予眉批 $\to$ 在開發紀錄後方標注 "::: Reviewed by 你的GitHub帳號名稱",像是 > 開發紀錄 (lab0) / GitHub ::: Reviewed by <`jserv`> :::warning 中間的空白不要漏掉了,在 `)`, `/`, `:::` 之間都有。並且你的 GitHub 帳號名稱前後要標註 "`" ::: * 每份開發成果至多只能被 3 個人批評,"Reviewed by" 後面的 GitHub 帳號用半形逗號 `,` 分隔 * 可參照 [2019 年春季 Homework2 作業區](https://hackmd.io/@sysprog/rygjaEK8V) * 選定開發紀錄後,編輯內文,加上 `Reviewed by 你的GitHub帳號名稱` 的段落,[示範的 Review](/s/BJjL6cQ6),你的意見要寫在共筆的最上方,僅次於 "contributed by"。要從以下方面探討: - 程式碼的 coding style, git commit messages - 程式碼和共筆是否達到指定作業要求,例如 [lab0](https://hackmd.io/@sysprog/linux2021-lab0) 要求實作的 coroutine - 實驗設計的不足處、涵蓋程度是否全面,以及後續的改進空間 - 共筆行文是否流暢且具體,結構規劃是否清晰; * 建議引入新的方法或工具,如 Valgrind 參數變更、縮減排序的時間成本 * 斟酌在選定的 GitHub repository 留下 code review 意見 2. 需要回應授課教師 (會在共筆中標註 :notes: jserv) 和其他同學在你羅列於 [Homework1 作業區](https://hackmd.io/@sysprog/linux2021-homework1) 的共筆中所做的評語意見和質疑 3. 繼續完成 [第 1 次作業](https://hackmd.io/@sysprog/linux2021-homework1) 的開發工作,主要是 [lab0](https://hackmd.io/@sysprog/linux2021-lab0) 和 [quiz1](https://hackmd.io/@sysprog/SJlXFVMzMu),但行有餘力也可強化 [culture](https://hackmd.io/@sysprog/linux2021-culture) * 不需要建立新的共筆,在你原本的頁面更新即可 * 第一週的作業值得花上一個月來做,但若授課教師一開始把繳交時限寫為四周,因人性使然,繳交的狀況就會很慘,於是授課教師故意縮短時限並安排在課堂檢閱,給同學們持續精進自己的機會。這樣或許會得更好的結果 4. 截止日期: Mar 22, 2021 (含) 之前