新到一个公司,给我看一个程序的源代码,vc6.0写的mfc c++程序,是一个刷机软件,调用厂家的dll,我以前用dotnet,看了以后觉的各种头晕,一个结构体里嵌套了一个结构体,然后又嵌套了一个结构体。。。结构体里还有回调函数,然后用dll调用。我搞了半天也没数清调用一个函数的参数里到底有些啥。一个cpp里有5000多行程序,至少100个全局变量。
我忍不住想写这个程序的人水平是高还是低,说他低吧,这个程序很牛逼,说他高吧,难道不可以写简单点吗?难道还是只能写这么复杂?或者c++高手都是这样?
另外,水平较高的人搞懂这些程序大概要多长时间?
------解决思路----------------------
能搞这个人家就是牛B,你看不懂,说明你菜。
一个公司老的框架代码,都是几千行的一个文件。菜的人都只会看简单的代码。而不会理解代码里面的精随。。
水平高看懂这个因人而异。就算顶级高手,没有业务的支撑。他也是看不懂。。
------解决思路----------------------
c++不懂,不发表评论,但能写出5000行,肯定是有问题的
------解决思路----------------------
不断地添加注释吧
------解决思路----------------------
对于个人来说,他是牛逼的。他能在1个cpp里处理清楚100多个全局变量,以及结构体的嵌套,这大脑已经和计算机差不多了吧。
但是对于团队来说,就是渣渣。除了他之外估计没人能维护这个代码了,就算写上注释,一般人也看的很费劲吧。换做是我,宁可自己按要求再写一个。
------解决思路----------------------
自己都搞不懂的可能性比较大
------解决思路----------------------
一个cpp5000行不算多,但100多个全局变量只能说,坑挖得够深啊。
依我看,这个代码的精髓就是能各种坑人,谁来坑谁。
------解决思路----------------------
这有啥可吐槽滴,调用厂家滴dll,自然按厂家滴说明建立结构体。
如果厂家滴规定复杂,自然这东西也复杂
不信你自己用c#滴p/invoke写一个,你定义出来滴东西也不会比人家少,比人家更简单滴
------解决思路----------------------
这种东西一般都不是一次成型的,都是好几年的时间一点一点改成这种样子的。
你能做的,一方面是去理解,理解的方法你可以尝试给函数拆开到不同的文件里,这样你可能心理上感觉好一点。
另外,你也可以尝试重构。
------解决思路----------------------
这必须是高人啊,写个软件出来,就是给源码你破解,都把你绕成狗了。便何况没有源码情况下。直接免加密了
------解决思路----------------------
就这点信息怎么能评出一个人的能力水平高低呢
------解决思路----------------------
C++高手肯定不会这样, 那样的代码体现出的水平肯定是低的。
------解决思路----------------------
没有加密的加密
------解决思路----------------------
之前搞C的然后就。。。