诸位公司项目的代码质量高吗?

2019-10-29 08:23:06 +08:00
 clecho
我之前待过的都是些小公司,代码质量都不高。不过基本都是做的 to b 端的系统,所以感觉 bug 也不多,性能因为用户少也没什么感觉。

这次的公司做 to c 的应用,我就开始感觉 bug 贼多,系统性能也不好。代码质量一言难尽。感觉线上系统全是 bug,就等着用户来发现。

这种情况不是某一个人造成的,是产品,开发,测试一起造成的。

产品考虑需求不全面,想着开发写的时候会发现问题。

开发写代码的时候也没有多考虑,主流程能跑通就 ok,以前的历史代码是这么写的,新功能我也这么写。

测试也对系统不够了解,主流程差不多就可以了。剩下的 bug 随缘发现。

总结一下就是,所有人都不了解系统。公司迭代又快,没时间去仔细思考。(以前一周一迭代,最近开始两三天就迭代一次)

造成的后果就是功能逻辑混乱,一但要加新的需求就会丢三落四,总有些地方没有兼顾到。线上全是 bug。

搞的我都有点怀疑自己的开发能力了,因为 bug 真的太多了。

以前网上总流传一个说法,大部分公司的代码不开源的原因不是业务有多机密,只是因为代码质量太差,开源了怕丢人。

所以今天想问下在座的诸位,你们公司的代码质量高吗?线上 bug 多吗?
21149 次点击
所在节点    程序员
195 条回复
loshine1992
2019-10-29 11:54:32 +08:00
@mmrx

如果你们可以放弃用户使用系统字体缩放后你们 App 与其它 App 的一致性的话,用 dp 也可以。
cgmaybe10
2019-10-29 12:03:32 +08:00
自从上次坐在同事旁边帮他写页面,页面写完后能运行起来,但也 as 有些地方报错,提醒他改一下,结果同事说没事,能跑起来就行,从此再也没对项目的代码提过意见。
ungrown
2019-10-29 12:07:42 +08:00
@devld 有 bug 的代码都能跑起来
写的好不好重要吗(叉腰
GuangXiN
2019-10-29 12:07:51 +08:00
只要测试覆盖充分,再糙的代码都不怕
Novll
2019-10-29 12:12:49 +08:00
一切尽在不言中
exploreXin
2019-10-29 12:21:11 +08:00
代码质量是一套体系而不是某一个东西,公司不给提供相关管理环境,个人是没办法改变的。我在一个三个人的创业团队待过很短的一段时间,那里连运维是什么,团队的老大都不知道,更别说代码审查,测试环境这些,写了代码直接丢线上,出了问题再调,可以看出现在创业环境比以前确实降低了,什么虾兵蟹将都可以出来包装一番美其名曰这个科技公司那个网络公司,实际上注册资金就几万块,根本就连在街边摆摊卖草鞋都没资格,还搞什么高科技,人工智能,真是不知道自己几斤几两,可笑之极。
timle1029
2019-10-29 12:24:43 +08:00
@fengchang #77 客户没觉的是 bug 是因为很多时候 alarm/sev2 迫使大家找到 bug 了,其次很多 customer ticket 最终的结果也是 code bug
fewok
2019-10-29 12:25:48 +08:00
一顿异常报警,终于发布成功。。。居然还不影响服务。可以,先这样吧。
sevenzhou1218
2019-10-29 12:27:18 +08:00
一坨屎
EscYezi
2019-10-29 12:43:37 +08:00
真的烂,连给自家做的 oa app 打卡功能都一堆 bug,隔三差五打卡来个 500,这谁顶得住啊 https://i.loli.net/2019/10/29/p1jNmIzQ3iA645E.jpg
dongyx
2019-10-29 12:56:10 +08:00
公司雇我们来,就是改善代码质量的。没有 bug,架构完善,给我们那么多钱来做什么呢?我们的任务就是去改进这些东西,而不是抱怨。
charlie21
2019-10-29 12:58:31 +08:00
1. “能跑起来就行” 发展到最后 必然导致屎山
2. 多人团队,代码质量并不和工资挂钩,是否抱着 “能跑起来就行” ,都不影响一个人的工资
3. 多人团队,必然有至少一个人把 “能跑起来就行” 挂嘴边
-
那么问题来了:怎么攻破屎山形成的必然性?
clecho
2019-10-29 13:01:29 +08:00
@dongyx 问题就在于很多小公司的钱都没给够。。。
dongyx
2019-10-29 13:07:46 +08:00
@clecho 我认为求职是个自由市场,如果有其他公司能否给到我们更好的的回报,我们可以选择去新的公司。如果当前公司是我能找到的最好的公司,那我只能想办法把事情做好,以求加薪或者提高选择能力后跳槽。如果能够把现在公司的项目质量提高,对程序员来说是简历上的亮点。什么都很完善了,简历上怎么写了?
dongyx
2019-10-29 13:15:06 +08:00
@dongyx 另外关于需求和技术的矛盾,我自己有过一些反思。产品和技术的评价标准不一样,如果一个需求会导致按照我们程序员的标准必然导致烂代码,以前的我会觉得特别难受。但是后来发现是我自己被禁锢了,回顾软件工程的历史,我们程序员关于好代码的标准是怎么建立的呢?是在一次一次的实践中建立的,这些标准的最终目的是做出好产品。当市场上绝大部分公司的需求都会破坏这些既定的标准的时候,这说明时代变了,需求的模式变了,而我们软件工程的理论没有变,是我们落后了。我想我们要做的,是去探索新的符合这个时代的软件工程理论和架构模式吧。
pangleon
2019-10-29 13:16:39 +08:00
很垃圾,然后 S13 总监还说,你觉得我们代码烂,那你是没学到我们的精髓,我们一样支撑了 X 量级的业务(我心说几十台服务器放那了是你牛逼还是服务器牛逼?)。
然后我就走人了,跟 S13 待久了会影响智商
darkalien
2019-10-29 13:29:05 +08:00
能跑就行,被纠结什么代码烂不烂
fengchang
2019-10-29 13:29:37 +08:00
@timle1029 bug 是不可避免的,就算是飞机的控制软件也有 bug。但是有的公司会把明知有 bug 的软件「先上线,后迭代」,有的公司就不会。
ieiayaobb
2019-10-29 13:30:45 +08:00
看了上面的回复,大多都是“我”重构以后的就是质量好的代码
hantsy
2019-10-29 13:46:59 +08:00
国内就是这样,先跑起来再说。

某些职场的领导层面可能是受一些“成功人士”言论的影响,总幻想那些为数不多的成功案例会发生在自己身上,特别是一些创业公司,创始人像被洗过脑一样,天天做梦都想着拿到几千万的风投,就可以大干一场,然后才有时间,有能力请更多的人力来把项目推倒重来。

没有重视软件工程之前,很难改变这种状态。国内绝大部分公司没有要求写测试,没有 CI 服务器,不跑 CI,CD (当然没有测试,跑也没太多意义),开发部署流程没有全部实现自动化(或半自动化)。

敏捷是挂在嘴上的,有些公司实施 Scrum 除了开会做样子外,没有其他的,没有真正体会到每个 Sprint 结点的实践要求:除了展示阶段性成果,规划下一步,最重要就是代码重构,定期清理 Bad Smell 代码,保证代码质量。

说白了,管理层面的软件工程知识缺乏。员工也没机会去实践(当然很多人也不愿意做这些事)。

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

https://www.v2ex.com/t/613867

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

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

© 2021 V2EX