哎,入职了一家规模超级大的公司,在某一领域世界第一,并且
“
We're not a Chinese company
”
呃,继续吧,体验其实挺不好的。
我真的很想努力,但是队伍带不起来就是带不起来,
各个都是老大哥,年轻点的都是35岁的,我算是小一辈的,
各个都是架构师,主管介绍的时候这么说的,我就这么听着呗,
怀着忐忑的心情,我开始跟着队伍写代码,
心里想着,千万别捅娄子啊,乖乖,做事小心一点,都是大神级的人物,我不能太丢人。
好了,终于可以一起写C++代码了。
但是写起代码,我傻眼了,真傻眼了。
1:架构师就这水平,设计的框架,至少是十五年前的老框架,10年前主流框架都不这么玩了,
2:代码风格非常飘逸,飘逸得不行,以及处处都是重复代码,不知道是CTRL+C、CTRL+V弄过来得,还是真的手敲,
3:设计模式几乎完全不用,我写的一个适配器模式的代码,直接被人改没了,
4:一些高级的开发手段完全没有,dll导出接口还直接用def式的,连个com式的都不用,
剩下的一些小问题就更多了
1:一份代码,若干个不同编写风格,一页代码,风格都不统一,不知道在哪抄的
2:一个函数200多行快300行,是真的近300行啊
3:大量大量的class 里面全都是变量,没有一个函数,我真的很奇怪,这老兄难道以为struct 是 C 语言的关键字,C++里面没有么?
4:结构体长度,完全不知道,对齐,完全不写,不光代码里面不写,工程配置里面都不设置
5:抽象类和接口,傻傻地分不清,太可怕了
6:为了分发消息,弄了若干个自己用array 写的消息队列,然后靠发event 触发,乖乖,你维护得过来么
7:一页代码里面,读取文件操作的两个函数,竟然一个用FileRead,一个用FileMapping,这是从哪抄来的两套不同函数。
......
我实在不想写下去了,我真的怀疑这位架构师之前是干啥的,
这架构师,代码写得那么垃圾,竟然还跟我强调效率,效率,还要效率,
我心里苦啊,你写代码啥样,你自己心里没个数么,微软有多少种optimization你知道么,
你这种垃圾代码,微软想给你提高点效率,都没法给你提,你还要效率,哎。
看着我心爱的代码,我哭了,我真的哭了,我流了很多眼泪,非常多,
由于我要接手这个项目,还只是一个模块,
然后我发现,
1:设计文档,没有,
2:设计图,没有,
3:流程图,没有,
4:开发文档,没有,
5:注释,几乎没有,
啥都没有,就让我看那个垃圾代码么。
我真的哭了,太毁三观了,
各种文档,哪怕有个什么手绘的文档也可以,但是没有。
我希望能通过调试的方式熟悉代码,
由于代码极其混乱,看起来非常难受,并且没有任何相关文档的支持,
我希望通过在入口下断点,然后调试,跟完整个调用栈来分析代码,
但是我又惊呆了,
1:UT模块,没有
2:IT工具,没有
3:ST用例,没有
真的是什么都没有啊,
最后,自测工具都没有,就那么一个模块,想办法自己解决吧。
太牛了,这也是奇迹,他们竟然还能搞成事情,这真的是奇迹。
什么都没有,真的没有。
夜里,我看着我心爱的代码,竟然是这个样子,
我真的不敢相信,竟然有人这样写代码,而且还是个三十好几,将近四十岁的架构师,
我深感人生的无力,太苍白,太无奈。
哪怕测试的项目你这么写代码,我依然可以接受,
但是上线的项目,你竟然这么写代码,后续不维护了么。
代码质量这么低,后续怎么维护,后续谁来维护,找谁来给你们擦屁股,这就把我弄来了,是么。
深夜里,我一边哭,一边改代码,一边哭,一边改代码,
但是最后我还是写错了几句代码,
我在抽取共同功能封装成函数的时候,少写了一个符号,导致代码无法得到我们想要的结果。
我绝望了,我放弃了,垃圾代码,真的不能改,不能维护。
我含恨,准备离开这里。
我对不起上级领导对我的关怀,我对不起HR姐姐那么照顾我,
但是我真的无奈,我能怎么办,
论年龄,我比他们小,论资历,我比他们浅,论时间,我也是新来的,论人脉,就只有我领导对我稍有了解,
我什么都办不了,
领导说,我可以改变他们,但是真的可以么,如果他们那么容易改变,你早就改变他们了,至于让我一个新人这么灰心么。
部门还流行打小报告,领导美其名曰“有问题就找我”,我也想有问题找领导,但是我怎么找你,
其他同事找领导,都是在背地里偷偷地找领导,但是这样的话,不就是打小报告么,
如果我当面找领导的话,那么领导到底是帮谁,帮谁都不合适啊,帮我的话,那些架构师脸往哪放,帮他们的话,他们说的本身就不对啊。
领导肯定还得装模做样一番,然后基于当前现状,我们只能先使用架构师的方案,把事情做完,后续再XXXX。
你们架构师代码写得好一点,测试工具全一点,文档详细一点,后续就全都是我干了,改整体架构是我改,我愿意日日夜夜继续干,但是你们根本没这条件啊。
我处处为别人着想,反倒落得一身不是,谁为我着想过。
由于我定义得接口,走得是com型接口,然后给另一个架构师用,另一个架构师可能就感觉我定义得接口用起来太麻烦,
让我提供使用demo,我提供了,然后让我提供头文件路径,我提了,
让我改变量类型,我改了,最后缺少一个系统头文件需要他来引入,没这个头文件就用不了我的接口,
这还让我在我导出的接口处替他引入,我也引了,随意吧,首先,确实是我没引,其次,人家想整我,随时都有时间,还可以有事情找领导呢。
我热爱我的代码,我深深地热爱它们。
我承认,我的代码风格也没有多好,按照100分来算的话,我能打60分,我就高兴,50分我就知足,
但是你不能把我的代码往30分上改啊。
我痛苦,悔恨,当初我为什么要来这里。
我现在真的很担心,他们就是认为这个项目有问题,要不行了,所以招我进来,甩锅的。
因为最后是我接手,他们几个月解决不了的问题,让我15天就解决,然后代码乱七八糟,根本没法维护。
为了让我不再在领导面前人设崩溃(这项目如果由我维护下去,我必然死在这里),
也为了那些架构师不在我眼里人设崩溃,
我决定这个锅,我替他们背了。我现在就离开,免得以后有更大的锅丢给我,更大的锅,我背不起。
领导对我真的非常好,我走了都感觉对不起他,
HR姐姐对我真的非常好,总是送我小礼物,小零食,她是第二个对我这么好的HR姐姐,我走了都感觉对不起她,
(第一个HR姐姐是很多年前入职一家公司的,刚入职,HR姐姐说我提出的薪水有点低,主动给我涨了好多薪水)。
但是我只是个战士,是个做攻防的战士,我只能通过自己努力来改变对手,
我不是一个英雄,我无法改变队友,遇到了这种队友,我带不起来。
写好代码,从我做起,不但是为代码负责,也是为自己负责,更是对队友负责。