整合、平臺,我的頭大了
女王的Projet算是完成了,前幾天就發給人家了。但是,問題卻還有一大堆。總共兩個Projet,一個是C,寫一個波蘭式的函數計算器。還有一個是算法,主要是圖的遍歷,實現兩個最短路徑遍歷的算法,Dijkstra還有一個是Floyd。
但這三個程序都有一些問題,而且是大問題,甚至可以說,我寫的代碼根本就沒有用。先說說C,這個東西單單運行功能都沒有什么差錯,盡管功能沒有全部實現。但是這是一個Binome的項目,兩個人做。所以就有問題了,很早就問女王要另一個人的程序,我要看他的結構定義。但是傳說中的程序遲遲沒有到來,因此就決定單干。這里面就缺少溝通,一切數據定義、API全部是自己的。現在,那個Binome的程序來了,發現自己做了很多重復的功能,而且最大的問題是整合不能。兩個對于基本數據結構定義截然不同的程序怎么可能協同工作呢?不過我的程序本身還是比較完善的,應該可以單單拿我的程序去應付一下吧,具體怎樣,Rene也不知道。
至于算法,呵呵,簡直是笑話,天大的笑話。我拿到的是一個大項目中的一小部分,但還是老問題,基本結構定義遲遲不來。一個大項目,對于圖的算法,圖結構定義總要統一吧,但是我就是沒看到(前天算是看到了)。那好,自己定義!到整合時又是問題,不過幸好,這個圖定義是從文件中讀取的,我就在那兩個算法中再讀了一遍定義,按自己的結構存放。這樣算法是對了,但是輸出又成問題。API定義是他人的,但是我不知道,結果還要修改。不知道人家改得怎樣了
Floyd算是太沒面子了,耍酷,玩指針,結果在VC編譯下都好的程序,拿到GCC下面一編譯、運行。算法根本不對!!估計是int類型的字長在VC和GCC下面的定義不一致引起的,但想想也不對啊!這個問題尚未解決,有待研究。
三個程序,三次失敗。這個確實可以作為一個失敗的案例了。首先是小組成員之間的溝通不良,造成了重復勞動和API、基本數據結構定義的不一致。其次就是小組中應該使用統一的編譯環境。第三就是要把整合期提前,不能到最后再去整合、聯調。第三點可以和第一點合并,其實這也是溝通的問題。
現在開始懷念Java,懷念Vincent。懷念Java的Write once, run everywhere自不必說。至于Vincent,貌似我們的合作總是比較成功的。但仔細想來,以前的那些個合作項目,其實還是一個人在具體實現。要么一個人專注新技術研究,另一個做實現。要么兩個人做不同的模塊,但這兩個模塊都沒有什么耦合性,所以溝通不良的問題盡管有,但不明顯。以前喜歡把小組任務單干,應該也是這個原因。畢竟要定義出整個小組都能接受且易用的API和數據結構是需要功力的。功力不夠啊!!殘念~~
posted on 2006-01-15 09:43 Rene 閱讀(336) 評論(3) 編輯 收藏 所屬分類: Programming