hw7-Inspection Checklist
2018-01-22
Advanced Software Engineering Hw7
List the Inspection Checklist and add more checklists to other's classmates
我與課堂的同學宇淇佑昇共同開Github的帳戶,把三人各自的code上傳到Github並且加上自己的Checklist,依此為base,其他兩人再去原作者的checklist中擴增。
【我的部分】
首先,我用Python寫了一個Video capture server simulation analysis的程式,以不同類型的分類去mapping自己可能會犯的錯誤。
接著,去看另外兩位組員的code
Bryan 的Check List
Data Faults
是否所有variables在使用之前,都被初始化過了?
所有的常數constants有被命名嗎?
有任何的機率發生 buffer overflow嗎?
Control faults
每一個loop的確定會結束嗎?
Input/out faults
所有input variables 都被使用了嗎?
非預期的input variables 會導致 corruption嗎?
所有的output變數都有被assign value後,才output出來嗎?
Interface faults
假如components access 分享memory,那這些components 有分享相同的 model of the shared memory structure
Storage managements
假使存取空間不在被使用,那這些空間會被動態調整嗎?
假使動態記憶體被使用,存取空間會有動態調整嗎?
宇淇在Bryan擴增checklist1.在function的parameter中,預設值如果是mutable物件,則是否有被更改
2.所有的immutable物件在被更改後,則是否將所有的連結是否有重新assign
3.是否所有read/write file都有exception
4.在進行物件的Copy時,是否有注意淺層複製所帶來的影響
5.在進行浮點數的比較和計算時,是否有精準度誤差
佑昇在Bryan擴增checklist1.是否有non-local資料可以被放進local
2.程式縮排是否正確
3.是否有不同形態的資料一起做運算
【宇淇部分】
從宇淇來說,用Java寫一個戰車打異型怪獸的GUI遊戲,起初在clone 他的code到我的本地端時,不能馬上編譯執行,需要再另外調整path,這樣image才能被讀到。
【佑昇部分】
起初git clone佑昇的code到我的mac時,是無法執行的,原因在於無法打开源文件: “SDKDDKVer.h”,後來的解法是去包含需要文件的目錄中,兒這個解法也是需要在window系統執行才能成功。
主要佑昇的checklist偏向變數與宣告與記憶體配置的錯誤提醒,而我補充的一點是the corruption of input variable的可能性。
【結論】
我覺得本次作業最大的體悟是,看其他人code並且補充checklist時,是很難馬上找到方向跟提供擴充的建議,原因在於你根本不了解他的code如何運作,而且得先用overview的視角來觀察,並且要執行過一遍code才能理解更加深刻,
但是,這次的經驗是,在把code push到github後,都沒有考慮到在run program的enviroment問題,所以在git clone其他人code時,都遇到無法成功執行的錯誤,因此,delay更多看code的時間,這一點是未來寫code要注意的。
【參考網址】
Last updated