《移山之道》第十一章:两人合作 读书笔记 PB16110698 第六周(~4.15)
?本周在考慮閱讀材料時,我翻閱了《移山之道》,正好看到這一章:兩人合作,心想:正好,我們正值結對作業的緊要關頭,書中兩人合作的寶貴經驗和教誨應當對我們有很大幫助。于是,我開始一邊在ddl苦海中撲騰掙扎,一邊抽空讀完了這一章,確實受益匪淺。
這一章首先由一個時間估計的小故事引入:從北京火車站到八達嶺長城需要多久。書中兩位同學分別考慮不同情況,給出了截然不同的估計,由此引出項目管理要素三角形:功能、資源和時間。這三者在項目中相互制約,維持其平衡方能做好項目。回想這一周我們奮戰的經歷,首先時間方面緊缺,我接到班里團支部申優的大鍋,要花很多時間收集、撰寫材料;張行健同學則有期中考,需要全力復習。同時,我們都有滿滿當當的課業虎視眈眈地盯著我們,實在是脫身不易。想到班里大多數同學也都是這樣的情況,不免輕嘆。其次,功能方面又是一大難點。結對作業中的需求總有些朦朧,在群里大家提問后又一步步將要求具體化,還有一些要求是在群里提、很快被水掉的。這要求我們在盡快滿足現有功能需求的同時,時刻注意有沒有新的功能需要實現,而功能的實現都需要時間。最后是資源,這方面主要在于我們的知識水平。我們對c++的一些使用有基本的了解,也都學過點數據結構,翻著“?!蹦且徽碌臅们肙PTR\OPEN還是能做的。但dll封裝方面我們事前都沒涉及過,網上的教程也非常垃圾,耗費了我們許多時間,最終在同組馬同學的幫助下磕磕碰碰地實現了。平衡這三方面,確實說來容易做來難。
隨后,書中又談起了單元測試的重要性,坦白說從上一次個人作業開始,我就一直在嘗試做單元測試,但始終沒能掌握帶全局變量的單元測試如何進行??偠灾畣卧獪y試的重要性和快速、覆蓋廣等原則,我大致是體會得真切了,今后有機會一定系統學習。
最后,是與我們結合最緊密的話題:結對編程。正如鄧老師所說,結對編程分為領航員和駕駛員的角色,一者負責監督、檢查,一者負責實際編碼,兩者身份定時互換。結對編程的好處主要有合作、信心和交流,且能讓代碼處于不斷“復審”的狀態,大大減少bug率?;叵脒@一次編程經歷,我們一起討論架構、輪流實現具體模塊,雖然剛開始工作時還不太適應,但漸漸習慣后就能體會到結對的益處。有時某個相似的變量引用出錯,或者某個條件分支判斷出現了邏輯漏洞,隊友之間能很快相互提醒,規避了許多大坑。雖然我們并沒有像書上那樣嚴密地分工,實際上我們的分工還是相當隨意的,但仍舊感覺很棒。書中將結對編程的過程比作舞蹈,我感覺還是挺恰當的,不過由于課業繁重的原因,我們合作的時間還比較短,從磨合到創造的過程還是有點雷厲風行,希望日后還有機會繼續合作。
總而言之,這一章讓我加深了對單元測試重要性的認識,了解到項目管理的三角平衡哲學,也體會到了結對編程的優勢,希望本次結對編程能畫下圓滿的句號吧。
轉載于:https://www.cnblogs.com/cgyr/p/8848005.html
總結
以上是生活随笔為你收集整理的《移山之道》第十一章:两人合作 读书笔记 PB16110698 第六周(~4.15)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java技术小册(基础篇)
- 下一篇: A Wasserstein Dist