2009年3月29日 星期日

Code Review 代碼檢查

 
前兩週上Java時,老師向我們說明Code Review的作用,而在上週時,實際的帶我們進行Code Review。

在Code Review當中,老師要我們仔細觀察同學寫的程式碼,並提出看法,有哪些細節覺得有問題,還是說有更好的寫法,最後老師再提出老師的觀點及提出建議。

對我來說,是我第一次進行Code Review,讓我有深刻的體驗。在這次進行當中,老師提出在業界工作多年的經驗分享,學到很多東西。如老師非常要求程式的效能,哪些步驟可以精簡並完成該任務。這個細節對我來說是非常不會注意到,因為現在的記憶體都非常大,電腦的效能運作也很快,所以目前在寫的小程式其實運作上差異性在目視下不會很明顯,沒有像老師在當年如此錙銖必較的經歷。但是這樣的小細節,在未來是提升自己競爭力的重要關鍵之一,因為到了一個大型的程式架構下,這樣的方式可能會拖累到整體程式運作的速度。

這學期開始做專題,也開始寫程式,經過幾次的meeting,目前都是完成進度後,經過學長的檢查,這樣就很像是在做Code Review,因此我開始在網路上搜尋關於Code Review的資料。在搜尋的過程當中,發現 Google Code 有提供這樣的功能,所以想當然耳就來研究一番。 Google Code 可以幫使用者儲存每一次的編輯資料,並做比對,這跟 Google文件 很像會記錄每一次的修改,但是在 Google Code 當中更支援了 版本控制 的功能,這又是另外一件事情了。

這學期專題規定要跟同學合作,所以我並不是一個人在完成專題作業。但自己有發覺與專題夥伴間目前都是獨立運作,各寫各的,這樣的問題,之前有詢問過學長,學長是指說我們分派寫的東西不同,但是在共用的東西如全域變數或輸入輸出要用一樣的變數。這跟我剛剛也向以前的同學請教,他跟學長說的差不多。我同學說格式很重要,像是全域變數都要事先商量好來,若要輸出某些資料的話,同樣格式輸出的function也最好使用同一個。這些只要是共用的部份都需要事先討論。

而利用 Google Code ,配合版本控制如 subversion ,依照這樣的模式就可以讓電腦將版本資訊上傳,並在 Google Code 上頭做Code Review。自己已經開始在嘗試做做看,目前感覺還不錯,但是在 Google Code 當中,遇到了Code license代碼授權的問題。因為將程式碼上傳到網路上,你要決定讓你的資料使用哪一種類的授權,而各種不同的授權有不同的條款規定。這部份我比較不清楚之間的差異性,但是這事情攸關權益問題,最近會開始多認識一下各種不同的授權方式。
 

沒有留言:

張貼留言