哎!
慘……
最近接連維護(hù)兩個很煩人的項目,我的第一想法就是重寫!可是上頭的意思是說我的想法太瘋狂。
可每次有這種情況我都感覺還是重寫劃算點……
之前的之前一個東東重寫也就一周時間,而上頭還是決定用著,對那東東很麻煩怕新寫的別人不適應(yīng) 以及穩(wěn)定性的擔(dān)心。而結(jié)果就沒重寫,接下來的幾個月我都被那玩意煩。哎
回正題
這兩個項目一個是C++的,一個是C#的,兩個都是關(guān)于網(wǎng)絡(luò)的。都是非常有各自語言的特色
C++的那個項目是所有要處理消息的函數(shù)都是統(tǒng)一的 void xxxx(void* pData);
然后進(jìn)去就
int* pxx = (int*)pData;
pxx= XXX(sss);
pData += sizeof int;
SH_XXX* pshxx = (SH_XXX*)pData;
Mxxxk(pshxx,xxxixx);
sss;
Send(g_Buf);//所有處理函數(shù)的最后都是這一句
寫的是行云流水,酣暢淋漓啊。慢慢看也明白,但是人都容易馬虎的,很多時候調(diào)的時候一不小心, 就不知道跑哪兒去了。
所有函數(shù)使用同一個全局緩沖區(qū),讀和寫是同時進(jìn)行的。tb有可能讀了一些東西,偏移一段后進(jìn)入某個 函數(shù)又退回一段距離開始寫東西。前前后后,讀讀寫寫。哎,煩啊
至于C#的那個,導(dǎo)出是委托,每一個東西都有一個父類。比如
Code;
DoubleCode : Code;
ThreeCode : DoubleCode;
SessionCode : TreeCode;
StreamCode : SessionCode;