oo第二次總結
第五次作業度量和類圖


第六次:


第7次:


心得體會和分析:
bug分析:
第五次作業和第六次都存在一個嚴重問題,即更新時間與實際操作的問題。比如控制時間的時候,往往用sleep函數來,很多時候為了保證題目精度,往往使用的是假時間,但時間的改變和sleep函數使用的先后順序就可能存在問題,在sleep期間訪問的時間點,是容易出錯的。所以使用假時間的話,一定要注意其他的誤差。
第七次作業因為假時間被報了許多點,實際上控制200ms的情況應該是在程序開始記錄時間,程序結束時記錄時間,然后sleep200-程序所花時間,這樣來控制程序的運行時間。其他的問題則出現在部分輸入輸出的情況上,輸入的格式基本可以通過正則來判斷,但是輸入長度,輸入個數也是需要程序限制的,沒有在這點上花費精力,所以存在部分問題。
這幾次作業主要強調的是多線程的協同問題,對于共享對象的加鎖控制等,但往往多線程的程序不那么好控制,不像單線程的一步到底,能夠準確的預知每一步,所以多線程往往需要作者在程序中加上足夠的控制,對于多個線程訪問同一對象可能引起的誤差要加以限制,對于多個應該同步進行的程序沒有同步進行的限制,對于有明確先后順序運行的線程的限制,這些都是需要我們去考慮的,所以多線程會更加困難。
我自己的測試情況是用自己的測試樣例去測試別人,基本不會用太多困難或者特別極限的樣例去扣分,我一般就用對自己的要求一樣去測試,但在測試中也常常會發現別人錯誤的同時反思自己的錯誤,在別人正確的情況下,也會考慮自己的程序情況如何。和善的與測試者和被測試者交流也是學習的內容,雙方所站的立場不一樣,所以往往看問題的角度和方向有所相反,這種時候更應該理性分析,不是一味為得分而扣分,我在判斷對方錯誤時候往往會去思考他程序邏輯上導致錯誤的問題,去幫他提出與他交流,同一個錯誤導致的多種錯誤情況也會跟對方交流理解而進行撤銷等,與別人交流也是這門課的特色之一吧。
浙公網安備 33010602011771號