新人对工作的吐槽

runerback 2018-02-09 02:54:54
在同一家公司开发同一个项目两年多了,小作坊,由于毕业学分不够,多读了一年半,正式入职刚满一年。既然是小作坊,肯定要被人笑话,所以提前声明,我并不是要故意把同事的短板都揭出来,我还是挺尊重他们的,只不过是把遇到的问题拿出来说说,并没有贬低任何人的意思。

我喜欢对以前写好的东西进行整理,比如发现了可以共用的方法,就提到一个类里,或者新建某个类的时候,看到了功能类似的其他类,就会整理到一个统一的文件夹(或命名空间)。当然这样改动的前提是,项目中引用的地方不超过10个。

对代码的修改,同事还可以容忍,但是经常把文件挪来挪去,这个就不能忍了,尤其是负责提交到测试版本的,所以我自己用不到的东西,从来不管(不敢动)。刚开始还都不熟,我一动,项目负责人就跳起来了:“你怎么老喜欢把文件加了删删了加挪来挪去啊!?”后来老鸟不放心我写的代码,就审核,又跳起来:“你这代码怎么老是跳转来跳转去的啊!?”当时他们就喜欢把所有的东西都丢在一起,面向过程开发,基本没有面向对象的任何踪迹。当然现在好了很多,已经有点把重复的代码提出来的意思了。

目前项目里面,我的感觉就是乱七八糟,就拿客户端来说,每个模块都有一个叫 Master 的类,里面动辄六七千行代码,两万行的也有,各种各样的方法都往里面丢,恨不得把所有只靠传入参数就能执行的方法都丢进去。或者界面上要用到自定义控件,基本每个都有个专用文件夹,CommonColumn文件夹里只有一个MyColumn,CommonProgress里面一个MyProgress。但是这样表面上看起来非常好,想找啥,一下就找到了,不用一层层展开文件夹,省去了不少功夫,基本每个文件夹一展开,十几个甚至几十个文件一目了然

好在我在公司的时间比较长,这要是进一家新公司,打开项目一看里面这样,我感觉只能辞职。。

每个人都在不断的学习,某一天学到的东西可能会将以前实现同样效果的代码运行速度提高十倍,但目前项目经理的思路是,不出现大问题之前,坚决不改。于是就出了好几次大问题,最轻的一次,用户那边一个操作等了一个小时,改完之后,不到十分钟就行了。但是以我的观点,用户心里对这个产品的看法已经有所改变了。

有次和项目经理提,他说你没有办法保证改完之后还和以前的运行结果一样。于是后面开会说要加单元测试。会开完半年过去了,没人愿意加,作为最闲的人,我就给加上了,然后我发现就我自己在用或者说就我一人在学怎么写单元测试。目前所有的测试工作都交给一个人来完成,而所有的测试流程,就是直接在界面上操作,费时费力。所以我没有办法反驳他。而且他还说,我们这个项目代码质量要求不高,技术要求也不高。

现在没人愿意去整理代码,很多方法没在用:“说不定以后会用到呢”,很多类文件没有在用:“说不定以后可以用到呢”。挺大的一个系统,接口少得可怜,而且有些基类能解决的问题,却非得搞个接口,然后每个模块实现的时候全都是复制过来的代码稍微改改完事。一万多行代码的类,里面到处都是全局变量,要么只在某个方法中出现过一次,要么就是到处都是这个全局变量的创建语句。一有bug出来,各种打补丁。新的需求一出现,加班加点地改,赶着改完之后代码更加没法看,以后的维护更加困难,平时闲着的时候挺多,就是都不愿意去整理优化代码,压力的来源就是一旦改出问题:“原来的代码有问题吗?谁让你改的?”至于各种庞大的类文件,压力来源是:“你创建这么多文件干什么?给你创建好的你就在里面写不行么?”

和同事合作过几次,别人设计我开发,好了,他们画个界面的草图就完事了,剩下的都是我做,开个小会就把需求口头确定了,后面做出来:“我什么时候说过要做成这样的?”界面做出来了:“你怎么把界面做成这样了?”或者这个说“你这个界面不对啊”那个说“界面就应该是这样的”,然后他俩争起来了。。最后他们达成一致了,我也照着改完了,给boss一看:“你们这界面做的有问题啊”

后来我给他们说,你们设计的话,就把接口设计好,这样需求也大致明确了,回道:“就这么点东西你还记不住吗?干脆我都帮你做好行了啊?” 有次给我说某个方法要怎么改,我说那你把接口和单元测试都写好,这样我实现了之后你直接运行单元测试就行了,我也能通过单元测试了解到需求,在我的再三请求下:“好吧,怎么弄?”只有一个方法的接口写出来了,单元测试也开始写了。我做完之后,一问:“我很忙的你自己写吧”。因为语言表达能力差才来当程序员的,我看其实是太懒了吧。。

很常见的一幕就是,代码改完提交了,一测试:“你这有问题啊”,一看,“哦我那里忘改了”,同一个逻辑,代码写的到处都是。一个方法写了两千多行,不然拆分开又得“跳来跳去”。真不知道他们看.Net源码有何感想。

老是被新的改动新的需求赶来赶去,感觉写的代码两年来没怎么变过。有时候给透露一点基础的面向对象的手法,简直要惊呼“卧槽代码还能这样写”。

我的短板,就是对业务逻辑的理解慢得不是一点半点,可能给他们说一次就理解了,我要听完自己去想然后再听几次再过个一星期,我就大概明白是怎么回事了。所以,基本就是很紧急的事情不会安排我做,业务需求的确定我也参与不了,等啥都弄好了,就轮到我开始做了。而且我的开发时间也明显比别人长很多,经常一个任务拖一个多月感觉每次做东西都会碰到各种各样的新问题,然后就会想办法解决这些问题,在这个环节上进度就慢下来了。等下次再做东西,又是一个新的思路,又要遇到新问题。但要让我去优化别人写好的某个正常运转方法,那我倒是能很快改好。以前看过某个老板说的话:“我希望你能把那些无关紧要的破事都忘掉”,感觉说的就是我。

之前让我做一个界面给别人用,后来我发现,连数据验证这种与界面无关的东西也是我在做,只要是和在界面上显示的数据有关的东西,全都是我在做,而不是我需要什么数据别人直接给我数据然后显示在界面上

这样时间久了,就会觉得自己能力差,看别人用几个方法就实现了一个功能,感觉很不甘心,要我做,至少得好几个类才行。所以老被人说:“简单的东西搞得这么复杂”。反正我感觉好像已经很久都没人愿意看我的代码了,刚开始他们看的时候被训得停不下来,后来混熟了也就没人说了。现在唯一愿意看并且给我提出修改意见的也只有新来的2号boss了,有了他“撑腰”,我才能更加理直气壮地整理代码。

经常看别人说的各种框架,各种技术,连听都没听过,感觉很着急啊。

估计像我这样的,在其他公司根本混不下去,太折腾而且开发效率极低。现在都是在做一些公用的东西或者系统功能,和具体业务挂钩的比较少,毕竟没有他们那种早上有新需求下午就做好了的速度,所以不知道是要继续这样下去呢,还是老老实实做个码农,或者在目前的基础上提高速度(难度和工资递增排列)。

求大佬指教
...全文
1227 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
CheapTrick 2018-03-15
  • 打赏
  • 举报
回复
我去年待的公司和你一模一样,只不过同事不奇葩,很好说话,不会有争吵。 然后我裸辞了,因为看不到自已的成长。 上周刚找到工作,很满意
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
这就好像做蛋糕,别人可能只是奶油,而你只做蛋糕底部的那层油纸。请问谁做中流砥柱呢?假设没有人能做,那么 boss 到底是要留住奶油还是要把一层纸当作宝贝呢? 希望你能不纠结别人的是非,而能够超越他们,独当一面。
平淡深刻的话; 不吹牛,P哥这种人做任何一个行业都是其他行业的损失。
evildier 2018-03-09
  • 打赏
  • 举报
回复
他们不听你的,是因为你身份和实力不够,还是要提高自己,强者才有发言权
  • 打赏
  • 举报
回复
其实在有些方面,你已经多走了一步,但是你的贡献,往往在表面是无法很好的体现的,所以感觉折腾了无用功
Evan_frank_wan 2018-03-06
  • 打赏
  • 举报
回复
建议换一家BOSS懂行的公司,在你现有公司“如果他还能用,那就不要动他”的工程理念下,会抬不起头的。我觉得你适合做产品,做精品,做周期长的,不适合做项目(游戏),项目要求快速实现需求,尽快上线。
  • 打赏
  • 举报
回复
一样,有时候感觉,理解一个事物的能力,好像有差异,别人一下能懂得,我需要多个角度才能明白
  • 打赏
  • 举报
回复
要先保证项目能及时的交付,正确稳定的运行,然后才是代码重构。 要不要重构代码,要不要一开始就有楼主说的好的设计,要看项目经费,要考虑成本,要考虑公司开发人员的能力。 如果楼主能用老鸟同样的开发效率,写出比老鸟更稳定,更优雅代码,相信用不了多久,你说的这些问题就不会存在了。
圣殿骑士18 2018-02-12
  • 打赏
  • 举报
回复
现有的部门内问题可能是很多。但我觉得楼主问题可能也不少,或者说可能他们抱怨楼主的问题确实部分存在,比如设计过于复杂的问题。理由: 1、面向对象的开发,本来是提高效率的,也就是说,你面向对象开发后,理论上应该比你同事效率更高。但楼主的开发效率却极低,这不符合常理。 2、从工作时间上来说,我也认为楼主1年多的经验要说要有很好的面向对象的良好架构,这个可能性并不大。这一点和第1点呼应,也说明楼主面向对象的概念可能确实过度复杂化了。 3、我是奉行面向对象的。但我碰到太多的程序员,工作经验比楼主长的多的,写的那个代码,我的评价也是:调来调去,繁琐!我的面向对象的改造,是随时重构的,但从来都是基于具体需求,而不是基于技术或者某个框架。
正怒月神 2018-02-12
  • 打赏
  • 举报
回复
做好份内的。 人微言轻嘛。 等你级别上去了,在思考怎么改革。
大然然 2018-02-12
  • 打赏
  • 举报
回复
生活不是抱怨,生活是前行, 加油
  • 打赏
  • 举报
回复
这就好像做蛋糕,别人可能只是奶油,而你只做蛋糕底部的那层油纸。请问谁做中流砥柱呢?假设没有人能做,那么 boss 到底是要留住奶油还是要把一层纸当作宝贝呢? 希望你能不纠结别人的是非,而能够超越他们,独当一面。
  • 打赏
  • 举报
回复
别人的问题,在于对技术钻研的不深,内部机制不够优化、缺乏重构。 而你的问题在于对技术钻研的层次太低,不够实际。
大鱼> 2018-02-09
  • 打赏
  • 举报
回复
感觉像小说,欢迎来到CSDN吐槽减压版
  • 打赏
  • 举报
回复
能折腾是好事,但效率低这就有问题了,正常来讲开发第一遍是以功能为主,当然你能预期到抽象什么的可以在开发时就进行抽取,正常功能开发的差不多或者已经确定不会影响进度了,才进行代码重构和优化,反正就是优化可以,但不能影响进度 但你们那公司太奇葩了吧,这是给企业做应用的吧,所以只要求功能,不要求性能

7,763

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧