_cuclife.com
当前位置:cuclife.com > IT > ASP.NET >

代码加密,糟糕的写法也是一种加密

最近接连维护两个很烦人的项目,我的第一想法就是重写!可是上头的意思是说我的想法太疯狂。

  可每次有这种情况我都感觉还是重写划算点……

  之前的之前一个东东重写也就一周时间,而上头还是决定用着,对那东东很麻烦怕新写的别人不适应以及稳定性的担心。而结果就没重写,接下来的几个月我都被那玩意烦。哎

  回正题

  这两个项目一个是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);//所有处理函数的最后都是这一句

  写的是行云流水,酣畅淋漓啊。慢慢看也明白,但是人都容易马虎的,很多时候调的时候一不小心,就不知道跑哪儿去了。

  所有函数使用同一个全局缓冲区,读和写是同时进行的。有可能读了一些东西,偏移一段后进入某个函数又退回一段距离开始写东西。前前后后,读读写写。哎,烦啊

  至于C#的那个,导出是委托,每一个东西都有一个父类。比如

Code;

DoubleCode : Code;

ThreeCode : DoubleCode;

SessionCode : TreeCode;

StreamCode : SessionCode;

  而事实上上面的类,每一个都只是在父类基础上加一个属性而已。用的时候经常是base.xxx;经常是类型转来转去的

  很多类都在开线程,而且线程的执行函数是base.xxx

  也即是Thread th = new Thread(new ThreadStart(base.Receive));

  然后在base.Receive函数又调用子类的DealCode函数处理消息。

  哎,让人看着很不爽。经常跟的时候自己都忘了跟到哪里去了。

  因为还有很多函数都是“代理函数”,也就是仅仅调用另外一个函数而已;

文章来源:网络整理  本站编辑:兰特
上一篇:.NET,你忘记了么(一)—— 遵从CLS
下一篇:关于.NET中的Server push技术
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)