1. 程式人生 > >現代軟體工程 第三週部落格作業

現代軟體工程 第三週部落格作業

作業要求

程式碼地址

how you collaborate: working separately?  pair programming? VS Live Share? other style?

我們採用的是 pair programming的方式,首先是由我完成程式碼的主要框架,完成作業的最基本的功能。同時由我的小夥伴對於我的程式碼的基本邏輯功能進行檢查,防止我的理解與作業的要求產生偏離,並且對於我的程式碼進行profiling,做出優化。二者各司其職,同時工作,相互交流。

在兩個人的合作的過程中,不斷的會對自己已經根深蒂固的程式設計習慣提出一個新的挑戰,經常會有還有這種操作

的驚訝,學習到了不少新鮮東西。

how do you discuss design guideline, coding convention and reach agreement?

程式碼的基本邏輯框架是由我一個人決定的,具體的實現細節由小夥伴profiling之後提出改進意見,再做改變。同時二者也會不斷交流想法和意見。

how did the two of you aim high and try to deliver the optimal result with your own time constraints?  is this the best your could do?  what prevent you from doing your best? 

我們的優化主要是另外一個小夥伴做的,他利用Pycharm的profiling工具,對我的程式碼進行用時測試並進行改進,針對具體問題做出改善,提出了很多由意義的改進。另外在書寫最初的程式碼時,我的一切儲存基本都是字典和集合,雜湊的儲存也會加快我們的儲存速度。這也許不是我們的最優的結果。時間和精力限制了我們在上面的努力吧。

list 3 strengths  and 1 weak area of your partner

Kai Hu能夠掌握各種工具,來促進我們作業的完成。另外對於我髒亂無比沒有註釋的code也是沒有怨言(也許是沒有說出來),這或許是我最大的感動(主要是我懶)。另外他已經回學校了,還不忘作業這件事,實在是愛好學習!

how do you use profile tools to find the performance bottleneck and improve speed? show some screenshots of your analysis

我的小夥伴,他利用Pycharm的profiling工具,找到耗時較多的部分,然後針對用時較多的部分做具體優化。具體分析的截圖詳見github截圖