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

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

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

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

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

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

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

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

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

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

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

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

12541 次点击
所在节点    Java
107 条回复
feather12315
2022-07-14 22:10:12 +08:00
@litguy #1 也有大量 copy 的,循环嵌套循环,一个函数上百行
qiaobeier
2022-07-14 22:42:17 +08:00
没有死循环就算好代码
msg7086
2022-07-15 00:35:25 +08:00
@soupu626 还行吧,那些都是无效代码量,可以脑内屏蔽的。你都当成 var 就行了。
就像没 lambda 的时候大段大段的匿名类,脑内转换成 lambda 就行了……
只要接口清晰易用,测试覆盖好,我觉得问题不是很大。函数式又不是什么高深的科技。
lanlanye
2022-07-15 01:13:18 +08:00
好奇有多烂,我感觉比起 Python 来说 Java 这种算“规范”的语言写出来的代码平均质量说不定还高点。
当然,不是说语言不行,而是用的人不行,特别是 Python 火起来之后……
RiceNoodle
2022-07-15 01:47:58 +08:00
我只有在目前的公司,才觉得代码质量做的不错。
1. 强制要求 code review 获得 approval 后才能合并。
2. 并且核心业务开发人员真的很用心也很严格的在做 review ,一个 PR 里面的 comment 没清理完坚决不 approval 的那种。

以前的公司,代码质量的好坏,完全取决于历史和当前开发人员的水平,虽然有的质量还行,但是属于肉眼可见的在腐化,自己在其中,也没办法改变这种现状。
所以或许确实有个不可能三角,高质量,短时间,人力投入适中,三者只能满足两个。
TWorldIsNButThis
2022-07-15 02:22:51 +08:00
@lanlanye 其实没多大关系
这些所谓的规范顶多能达到 20 分即使做到了也离及格差很远
良好的代码需要持续的人力投入
ca1123
2022-07-15 04:19:23 +08:00
感谢 java, 这样拼凑的东西也能用
overthemoon
2022-07-15 05:48:51 +08:00
我上一家同事写的烂代码超级多,刚进去经常加班就是因为代码烂,还有 bug 。后面一有时间就重构同事代码,几乎把重要功能的代码全部重构了一遍,清清爽爽,效率又快,注释又多。 直到有一天改不动了,直接摆烂,直接在屎山堆里加代码
ragnaroks
2022-07-15 08:20:53 +08:00
java 没有代码质量和样式分析器,只能靠个人水平
Daiwf
2022-07-15 08:23:27 +08:00
很多时候是没有办法,接手的就是屎山。重构没有动力。项目又急。然后就抱着又不是不能用的态度直接改改就上了
fueen
2022-07-15 08:33:42 +08:00
v2 的奋斗逼还真是多啊
moyuge
2022-07-15 08:37:27 +08:00
这个话题可以匹配 国内任意语言
hoopan
2022-07-15 08:37:45 +08:00
代码好坏,大多数不是技术问题,而是管理问题。
darknoll
2022-07-15 08:40:39 +08:00
又不是不能用
bthulu
2022-07-15 08:50:29 +08:00
@soupu626 我也大量使用函数式编程, 我也能维护的动
coala
2022-07-15 08:53:11 +08:00
@lanlanye 和 Python 比起来的确会好.. 毕竟 Java"限制"多
dqzcwxb
2022-07-15 09:03:56 +08:00
kemistep
2022-07-15 09:05:25 +08:00
copy+c,copy+v.....copy,copy,copy ,程序和人,只要一个能跑就行;
zhang77555
2022-07-15 09:27:56 +08:00
你得明白在这个烂代码到无法维护的程度之前公司可能都没了
而如果你的公司熬过了烂代码时期,那大概率也有钱可以重做一套了
说句实话,大多数情况下,代码写得漂不漂亮没有太大卵用,纯技术公司除外,纯技术公司能占多少呢
featureoverload
2022-07-15 09:35:32 +08:00
这个话题下,很多人想的理由水平也可以反映自身代码水平。

如果没有经历过好的代码质量的工作,那么建议找工作的时候多问一些问题,根据主管( CTO )回答就能推测代码质量了。
如果准备不了合适的问题,自然就陷入死循环。

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

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

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

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

© 2021 V2EX