什么是 Java 味,是一种对 javaer 的歧视吗?

167 天前
 lelelelelele

在 V2 等平台常看到“写代码一股 Java 味”的调侃,甚至带有歧视意味,说实话,一直很不理解这种调侃?

8567 次点击
所在节点    程序员
94 条回复
YYYeung
167 天前
@YYYeung 之前我也觉得 Java 很啰嗦,后来写着写着发现还得是 Java 那套;兜了一个圈,发现归宿还是「 Java 味」
herozzm
167 天前
因为 javaer 的复杂或者循规蹈矩的绕来绕去的写法为大家所不齿,明明一句能搞定的事情在 java 下面干几十行代码,这不是歧视,而是出于人类趋向简洁明了的工作尊重
james122333
167 天前
@YYYeung

并不是 达不到你要的效果 有很多特性会缩限被替换的可能性 尤其是用框架类的更是如此 就算有解法也是非常弯曲 也要多写很多东西
aptupdate
167 天前
sketcherly
167 天前
作为一个 javaer ,我有时候也 js 的时候也感觉有 java 的习惯,这大概就是 Java 味吧
jeesk
166 天前
@levelworm 黑 getter/setter 最没有水平。 甚至连门都没入。
jeesk
166 天前
没啥意思, 99%的人都没什么拿得出手的项目,还天天吐槽, 我基本上当傻子看, 反而我喜欢看尤大吐槽,因为大佬是亲自参与设计的, 亲自参与设计才知道有什么坑。
laikick
166 天前
@jeesk 可是 vue 的工程化也不如 react 的啊
nananqujava
166 天前
@yooomu #23 是的 ,我遇到很多选手都这样, 很死板, 感觉是学会一个套路用熟悉了, 这样写就能跑起来, 但没深究为什么这么写,
jeesk
166 天前
@laikick

按照你这么说那 react 还不如直接写 html 呢, 直接写 html 没依赖呢。 无论怎么说都能赢。 只要你的角度好。
xiaohupro
166 天前
我以前写 Java 也觉得非要搞这么多类和接口干啥,传参几个参数能解决的事情非要封装为一个类,但是当我工作多年后,我理解了,当一个项目比较大时,或者后期拓展的可能性大时这种前期所谓的“Java 味”到时候会让你拓展和维护更加舒服一些,当然了这只是我工作多年后的一些感受,如果项目本身就不大,而且开发完后期大概率不会去拓展什么的哪个顺手用哪个,像我自己的项目有一些就是用 Python 写的,写小程序是用 Node.js 或者云函数写,我觉得还是看项目规模和具体的后期拓展性
levelworm
166 天前
@jeesk #66
我错了我错了。。。
auh
166 天前
八股文就是 java 味儿
kakki
165 天前
给每一个类都要设计一个接口,给每一个人找一个爹
Kaiv2
165 天前
后面出现的语言多了一些语法糖,Java 那几年更新又比较慢。学习了新语言的开发者受不了 Java 的“繁琐”然后就吐槽了起来
jackOff
164 天前
java 的基础包难用的一笔
语法又臭又长
占用内存高
似乎做什么开发都是天地大同 spring 起手
安卓原生开发这玩意 gradle 地狱世界闻名
框架太重,配置太多太繁琐
数据库 orm 设计花样太多,应该让这种东西尽可能归于底层,减少程序员乱七八糟的个性发挥
滥用注解,debug 地狱
救了太多垃圾程序员导致屎山代码层出不穷,要感谢培训班和八股文,java 的培训资料是全网最泛滥的
LitterGopher
164 天前
调侃一下不停正常的么?
比如说到 Python 调侃一下培训班很多,
说到 Rust 调侃一下重写一切,
说到 Golang 调侃一下丑陋的 if err.
dragondove
164 天前
@lelelelelele 设计模式是好东西,好到一些语言专门把特定的模式简化到了语法设计上。但是要避免做啥都上设计模式的思维。java 8 引入 lambda 之后可以考虑部分设计模式使用 lambda 编写来简化代码(比如策略模式可以是 Map<TypeEnum, Function<Input, Output>> strategies;)
设计模式其实在其他语言上也非常普遍,我不知道为什么很多人说的好像设计模式是垃圾一样。
我举几个例子:
1. python 语法上直接支持装饰器模式(函数装饰器),js 也有对应提案
2. 迭代器模式不用多说,增强 for ,现在各种语言支持的函数式 map 、enumerator 之类的东西
3. 观察者模式,响应式库都是这套,流式数据处理也一般需要观察者模式
4. 单例模式,kotlin/scala 直接引入 object 来支持(当然也是为了万物皆对象,摒弃 java 的 static )
5. 代理模式,kotlin 直接支持 by 委托
7. 建造者和工厂,现在有些语言没有构造器,习惯上手写 builder 的很多
lyxxxh2
164 天前
@chenqh
是啊,差不多每个文件都是一个类
chenqh
164 天前
@lyxxxh2 你有没有觉得,这样 import 很多,很累吗?

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

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

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

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

© 2021 V2EX