[ Java ] 代码质量糟糕, 是常态吗?

2022-07-14 10:09:09 +08:00
 coala

这几年写东西基本都是一个人... 普遍小公司

回想起来自己第一年写的也挺烂的。

后面参考比较多的是几个 Java 开源的项目(电商项目,博客系统这种), 好了很多。

我觉得差不多的水平就是遵循类似阿里巴巴 Java 规范这种, 不能大片重复 Copy 代码, 合适的面向对象, 结构清晰。

到目前为止接触过 4 家公司的代码, 遇到的情况:

A 司: 代码风骚 是个高手, 不守规矩, 但是质量不能算差。

B 司: 政企项目 有代码审计, 看上去稍微好点, 但是还是大片 Copy 这种大量偷懒行为。

C 司: 外包写的项目, 惨不忍睹, 一个类 7000 行, 一个 Js 文件几千行, 授权和角色管理稀烂

D 司: 整体写的比较随意, 但好歹没大片 Copy, 勉强能接受, 授权和角色管理稀烂。

代码质量能比上个 XX 系统的开源项目的公司有多少呢...

10904 次点击
所在节点    Java
103 条回复
litguy
2022-07-14 10:13:06 +08:00
还是我们这些 C/C++ 写底层的靠谱,质量不行马上给你脸色,尤其内核模块,直接挂系统
felixcode
2022-07-14 10:18:21 +08:00
你是看到代码表面乱,不懂底层。
狗头:)
dwlovelife
2022-07-14 10:18:28 +08:00
没有 review ,没有 git 工作流插件管控,没有规范管控,再牛逼的公司都不行,一个团队,每个人的代码水平层次不齐,经验也不一样,有多少人把工作当成热爱,有精力和能力写开源的最起码能证明水平尚可,热爱 coding ,去公司上班感觉不太一样,产品催促,巴不得三天活一天干完。所以代码质量糟糕是根本问题是一个公司技术职责管理问题,做业务的很少有人在乎,只要不要太离谱能跑就行,能马上上线就行,所以你想团队里每个人都能写出好代码就几乎不可能,因为一开始的目的就是为了做功能,快速产出,而好代码是要反复打磨,精心设计的,是要花时间的,这跟大部分公司主流业务都违背。
potatowish
2022-07-14 10:21:42 +08:00
代码质量和写代码的人技术水平、编码习惯、工时有直接关系,语言本身也是一道门槛,上手入门的难度越高,门槛就越高,写出烂代码的可能性就越低,起到了一个过滤的作用。
nothingistrue
2022-07-14 10:23:06 +08:00
跟 Java 无关,国内是常态。这跟办事风格有关,国内压根就不留代码质量改善的时间。代码质量别说提高了,就是维持,也很占开发成本,并且这占得还是团队成本而不是个人成本(意味着 10 个人中即使 9 个人愿意加班维持代码质量,只要有 1 个人不原因那整体质量就没法维持)。

就拿阿里巴巴规范来说,看着很规范是吧,但你要么 007 要么写出来看着遵守规范实际上质量糟糕的代码(并且还得 996 )。可以比较以下阿里巴巴 Java 规范跟 google java 规范,你会看到在规范之外的不同办事风格。
nothingistrue
2022-07-14 10:26:08 +08:00
开发成本上举一些简单的例子,结对编程或者代码评审,全覆盖单元测试,这些随便上一个就得让开发时间翻倍。而国内盛行的是只看你有没有在规定的时间内完成可运行程序。
coala
2022-07-14 10:31:05 +08:00
@nothingistrue 想起我也写过一个烂项目, 当时 1 个月时间, 真的太着急了, 还承诺做完了就可以撇清关系... 维护与我无关, 后 15 天就直接放飞自我了, 只想快点结束这种日子... 后来让又让我维护 .. 改的时候好痛苦
chendy
2022-07-14 10:31:50 +08:00
常态,想把质量拉满成本太高了,请不起那么多高手,花不起那么长时间,外加各种历史遗留问题
至于说国内质量不行的,接触过一些国外大软件厂的代码,一样稀烂
coala
2022-07-14 10:34:15 +08:00
@potatowish 这是骗我去改行做 C/C++ 狗头:)
zxxufo008
2022-07-14 10:59:30 +08:00
写代码和写文章一样,闭门造车不会有进步的
Oktfolio
2022-07-14 11:03:49 +08:00
昨天我代码写得直接发脾气,百万行的代码,只有 100 多个 toString ,其中至少有 90% 是我写的,你说代码质量怎么样。
fengpan567
2022-07-14 11:05:59 +08:00
建议参考不可能三角
IvanLi127
2022-07-14 11:13:34 +08:00
只能说语言能筛选一波人。。。
codingbody
2022-07-14 11:17:56 +08:00
刚入职新公司,代码也是稀烂,字段名、属性名,表名,都是拼音首字母,完全不知道啥意思,大段的 copy paste , 都想跑路了。
BanGanExpert
2022-07-14 11:21:02 +08:00
@codingbody 这种过分了,当然你可以看看有没有其它项目,万一也有好点的呀,都这样就提桶跑路了呗
siweipancc
2022-07-14 11:26:32 +08:00
上一个组,功能少有时间单测,一年线上 bug 低于 3 个。
现在这个,线上 bug 都 200 多了,问就是工期紧没时间
op351
2022-07-14 11:29:35 +08:00
有多少钱干多少事
外包稀烂归稀烂 起码能跑得通
再说了 外包实际到码代码的人手上的钱少得可怜 中高层把钱全吃光了
lujiaosama
2022-07-14 11:36:20 +08:00
烂代码就是克苏鲁屎山, 除了难以维护, 还对人有腐化作用. 一开始兢兢业业, 后面一起加入放飞自我...
ericmzhu
2022-07-14 11:45:20 +08:00
很多就像小学生写字一样,连基本的空格分隔,对齐都做不到。别谈什么代码质量了。
yaphets666
2022-07-14 11:55:02 +08:00
代码稀烂不一定是代码的问题,需求奇怪,没设计好,时间紧,不稀烂能咋办?

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

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

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

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

© 2021 V2EX