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