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