公司的项目太烂了,有点难以坚持下去了怎么办

317 天前
 Askeladdwindland

入职一家公司挺久了,福利待遇挺不错也不加班,但是公司代码是我经验不足没见过世面,还是就是这么烂,假如说拿阿里巴巴开发手册去纠错,代码里没多少能过的。代码里出现的错误可能连实习的大学生都不会犯。遇到的问题包括但不限于:

  1. 不正确的使用 springboot 的 bean ,居然到处都有 new xxxController 这种东西
  2. 用了事务注解还用 try-catch ,catch 了不抛异常有时甚至不在控制台打印异常,遇到所有可能 null exception 的地方直接 try-catch 一把梭,只要报错不显示给用户就是没错
  3. 所有的接口返回的数据居然是用 SQL 查询再用 SQL 里 JSON 相关的函数组合而成,而且所有页面的数据都是一次性返回全部,假如你要点击一个条目看详细那个是上次接口一起返回的并没有实时去请求,并且这造成所有 SQL 的都无比冗长,我每次都要复制 SQL 到 format SQL 的网站格式化一次再细细看,太折磨了
  4. 不规范的开发流程,每次有 bug 了也不带详细说明也不带请求的数据,开发新功能更是直接抛从来没有详细考虑过
  5. 以及业务代码全写 contorller 层,分层不明确,缺少结果类等等...

Q: 你没有向上级反馈过吗

A: 我有,这个项目是和国外小组一起开发的,而这边就我一个人,我反馈给我国内的上级他们也不懂,而他们把这事情给告诉主要负责的国外小组后,给我的答复是开发紧任务重主要图个演示,且是自家项目这样搞没事也说了后面会改,且这样容易搞的我和国外负责的人很僵就再也没提过了

Q:提过情况的后来呢

A:照样很烂,没有一个功能是可以达成原本要求的,只要用户稍微细细测试下就崩,而在国外的老总很生气说到处都是报错,要这一段时间把所有报错全部修完,但这项目真的不可能修完不如全部重构,到处都是问题,在上面加新的功能都难,代码超级耦合

现在我真的工作起来很难受,本来 HR 也说过会再招但几个月了都没新人,我想着多个新人向上级提国外开发国外的我们这边独立重新搞一个,而且多一个人也能多一个人认同我觉得代码稀烂的观点,不然搞得我跟刺头一样。每天都是硬着头皮上班,感觉也学不到东西,每天外国佬应付老总,我也只能尽我力保证我写的地方没有那么烂。希望大家能给我一些开导或者建议,谢谢各位了

6649 次点击
所在节点    职场话题
54 条回复
ruandao
316 天前
1. (业务) 搞清楚,哪些是你们的核心能力,优先在核心能力的功能上进行质量保障,要不然容易在不重要的地方花费精力,投入没有足够的回报的话,就是浪费,无法持续下去
2.1. (技术) springboot 的话,控制反转 和 依赖注入用起来,这个是基础(解决耦合的基石),有了这个基础的话,可以在逐步的把核心代码抽离到单独的类里面,这样的话,就可以添加测试,逐个模块的确保正确性
2.2. (技术)代码这么糟糕,TDD 是没有时间可能性的了,但是可以试试 BDD ,加测试的好处是,将来改动的时候,单元测试一跑就知道破坏到旧的业务了,可以马上把影响给纠正下,你可以想想下,一个功能,提测然后 QA 告诉你出问题,你再重新改重新提测要花多少时间。
不过当前会付出额外的时间成本
3 (权衡)分层、面向对象设计和 DDD 之类的要不要整起来,就看你负责的业务的价值,业务价值高,就会希望质量也高,想要质量高,必须避免面条式代码(面条式代码当前大多不会有 bug ,但是一次次迭代的过程中,就会有 bug )
ColdBird
316 天前
没事,我们这里的代码也是一坨狗屎,commit 的记录里都是 feat:0,feat:1 这种呢,有啥好说的?
Akitora
316 天前
学到了,原来大家是这么驾驭💩️山的
xiaoHuaJia
316 天前
写什么代码不是代码,干嘛内耗自己。想要精进方法千千万,干嘛跟自己精神身体过不去
daiisdai
316 天前
如果工作不累,待遇不错,有什么好抱怨的,能赚钱的业务就是好的业务,不能赚钱代码也得再好有什么用呢
antli
316 天前
啥也不说,外包给我,双赢。
jsonparse
316 天前
写到最后都是屎山,除非重投入严把关强监督
freezebreze
316 天前
看开源项目源码也就图一乐,真学技术还得是重构屎山,
JShen
316 天前
有的屎山高了,写代码写不动,改也改不动,并且很容易出 BUG ,面对需求无从下手,自己害怕,测试也害怕,领导也害怕。这种时候,炸屎山的时机来了。
verta
316 天前
@zhtyytg 你天干
behindeye
316 天前
年轻人要接受这个世界的不完美,理想与现实往往相差甚远,我相信几年后,会被现实击碎理想主义,我们构想的、认为的、主张的,会一次次在各种不确定性,而妥协
zerovoid
316 天前
你是去学习的还是上班的,大部分人上班时间都不能提升自己,如果为了钱,烂就烂呗,能跑就行,你又不是架构师,如果想提升自己,那就换工作了。
maigebaoer
315 天前
这才是经过效益考验的代码,项目应该还可以。
kingfighters
315 天前
几年前加入过一家类似的公司:用 svn ,没有测试,也不打算写,也没有 cicd ,也不打算搞,上线就基本都要回滚。。目测这鸟项目要黄了,跑。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1087585

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX