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