oo第二次總結

 

第五次做業類圖:數組

度量圖:多線程

UML時序圖:測試

 

第五次做業中的電梯和調度器都用到了線程機制,而後在run方法中用到了不少的if-else,因此致使了嵌套比較深。因爲這是第一次接觸寫文件和多線程,在沒有合理安排時間下,這是過了提交時間後我才寫出來的,因此被評爲無效做業了,也就沒了公測和互測,寫完後本身也不斷地對其進行調試完善。雖然此次做業沒能有效,可是我經過此次做業初步的瞭解多線程的使用和多線程之間的同步問題,以及對文件進行基本的建立和寫入操做。spa

第六次做業類圖:線程

 

 第六次做業度量圖:設計

UML時序圖:3d

因爲上次做業的無效,我給此次做業空出了更多的時間去完成,結果仍是令我滿意的,雖而後面在提交截至時心血來潮把run方法裏分紅多個方法去調用,這樣讓代碼看起來沒那麼多,可是忘了文件轉移後應該返回監控對象因而就出了能跟蹤可是沒把原來的監控對象換成新對象並致使觸發器一直被觸發的bug。互測上匹配到的代碼除了輸入上有點小問題其餘地方都作的很好,他的測試線程也寫得很詳細,相關的測試方法也都一併給出。在代碼風格以及方法調用上是一個很是有借鑑意義的代碼!調試

 

第七次做業類圖:對象

度量圖:blog

 

 UML時序圖:

第七次做業中雖然給的GUI有着500多行很嚇人,可是他的接口等方面作得都比較完善,這讓我使用起來也比較方便,此次做業中我發現了本身在出租車搶單窗口結束後搶單出租車的測距上出現的問題,我程序中每部出租車都有一個Poing【】隊列來存出租車運行路徑,我測距的依據是各個搶單出租車當前所存的隊列長度來進行判斷的,但我沒注意到這時候出租車沒有被分配請求因此Point【】隊列爲空,這致使在多部出租車進行搶單時,程序就會卡在分配出租車的方法裏,致使後續的指令也沒法進行調度。還有就是因爲未知緣由個人程序沒法同時讀入多行請求,中間我經過修改scanner類的使用方法成功讀入多行一次但後面又不行了,如今仍是一頭霧水。互測代碼使用了一些不符合懂我原則的設計,這給我在閱讀代碼時帶來了很大的困難,但最後仍是發現了對方對數組邊界未進行約束,而可能出現越界crash。

心得與體會

這三次做業都很難,多線程之間的同步,資源的佔用,輸出文件的實時交互等等,這些都須要很細心地去思考和設計,在寫做業時的考量中以及實驗課上的做業中我也收穫了協調多線程之間資源佔用的方法。不足之處仍是本身在代碼設計的一些細節上還會疏忽大意,但願本身之後的做業中能儘可能規避。

相關文章
相關標籤/搜索