在 V2 等平台常看到“写代码一股 Java 味”的调侃,甚至带有歧视意味,说实话,一直很不理解这种调侃?
1
vincentWdp 19 小时 50 分钟前 ![]() 有种三天斋戒, 沐浴焚香, 登泰山之巅, 祭祀天地, 就为了把一枚硬币翻个面的感觉.
|
2
ifsclimbing 19 小时 50 分钟前
喜欢过度设计
|
![]() |
3
wxw752 19 小时 49 分钟前
|
![]() |
4
codepark 19 小时 49 分钟前 ![]() 针对的不是语言么,为啥会到人这一层。
|
5
hwdq0012 19 小时 48 分钟前
我的.net 项目被 java 接手后,他来问我
a?.b?.?c 是什么意思,我只好向他解释 if(a!=null) if(b!=null) if(c!=null) return c; else return null; esle return null; else return null; |
6
Bazingal 19 小时 48 分钟前
大概是过度面向对象吧
|
![]() |
7
wyntalgeer 19 小时 48 分钟前
过度封装过度设计
|
![]() |
9
X0V0X 19 小时 45 分钟前 ![]() 我的直观感受就是一个函数能解决的事,非要弄个对象出来,甚至再继承一下
|
![]() |
11
tpeng9240 19 小时 41 分钟前
来公司写了几天 python 了,确实比 java 爽,小服务,脚本语言足够了
|
12
niboy 19 小时 38 分钟前
我记得搞 spring 的时候,非得搞很多层.....
|
![]() |
13
hidemyself 19 小时 37 分钟前
一定要依赖倒置
|
![]() |
15
lelelelelele OP @hwdq0012 这个应该是别人不懂 c#的语法吧?
|
16
hwdq0012 19 小时 30 分钟前
@Bazingal 在 c#的角度来看 java 味是没什么语法糖,啰嗦,什么都是类。但其他语言不是只有 class ,java 尝试其他语言的时候会把只有 class 的这种设计套到其他语言上,写出 java 味的代码
|
18
foolishcrab 19 小时 28 分钟前 via iPhone
很多人喷不到点上,比如说啥文件夹嵌套之类的,这根本都不是事。
但是过度封装过度抽象确实是广泛存在的问题 |
19
jackwaycn 19 小时 28 分钟前
调侃归调侃,歧视的人指定有问题的,哪有完美的语言呢
|
20
hwdq0012 19 小时 27 分钟前
@lelelelelele 在 c#的角度来看 java 味是没什么语法糖,啰嗦,什么都是类。但其他语言不是只有 class ,java 尝试其他语言的时候会把只有 class 的这种设计套到其他语言上,写出 java 味的代码
|
![]() |
21
gxm44 19 小时 27 分钟前
主要是吐槽过度设计吧
|
![]() |
22
lyxxxh2 19 小时 26 分钟前
|
23
yooomu 19 小时 23 分钟前
其实就是歧视,但这也不是无中生有,我有个同事就喜欢随便写个 service 都要整个接口实现下。我说这样冗余太多,看代码费劲,需要抽象时再用接口重构也不费事,他说我大家都这么写,说我是“众人皆醉我独醒”。那我也只能顺从
|
![]() |
24
wetalk 19 小时 16 分钟前 ![]() |
25
crackidz 19 小时 14 分钟前
先别管有没有必要,先把模式设计板出来,也别管代码是不是简洁高效易理解。最后要么重新推翻,要么变成屎山~
|
26
errorMsg0xff 19 小时 11 分钟前
@yooomu 确实,很多情况其实都不要接口
|
![]() |
27
lelelelelele OP 弱弱问一句,大家对设计模式有什么看法,平时也会用,而且在某些场景下觉得还是挺好用的。
|
![]() |
28
AlexHsu 18 小时 55 分钟前 ![]() 我觉得吧 你可以从 Initializer Processor Manager Holder Component Factory Handler Interceptor Filter Listener Adapter Resolver Builder Validator Strategy Context 。。。。这些地方吐槽 java 还有意义
要是从语法糖角度你可以吐槽任何一门语言 包括 c c++ pascal 这些老东西 |
29
yooomu 18 小时 54 分钟前 ![]() @lelelelelele #27 是好东西,但其实也是为了弥补 java 语法抽象能力不足的问题。但写业务代码,那么多设计模式,常用、实用的也就策略模式、责任连模式,不然看到那种一个方法几百行的 if else 真的头大。有些人滥用设计模式才是大问题,十几行的核心代码能整出好几个类
|
![]() |
30
aboutier 18 小时 48 分钟前
人红是否多,windows 也经常被吐槽, 奈何别人占有率高得可怕。所以才有那么多人嘲笑印度阿三。
|
32
hwdq0012 17 小时 17 分钟前
@lyer5 class Adder { int add(int a, int b) { return a + b; } }
这样看起来只有 javaer 觉得更清晰吧 |
![]() |
33
proxytoworld 17 小时 8 分钟前
java 味=xxx/com/aaa/bbb/src/main/
创建这样一大串的目录,很抽象 |
![]() |
34
Ghrhrrv146 16 小时 29 分钟前
@yooomu #29 设计模式本质就是狗皮膏药,用得越多说明语言/架构问题越大
|
![]() |
35
collery 16 小时 24 分钟前
一群写脚本语言的把
|
![]() |
37
wolfie 16 小时 18 分钟前
|
38
hwdq0012 16 小时 13 分钟前
@lyer5 我哪知道你在回复哪一楼 ,我以为你回复的是#16 楼
a?.b?.c? options chain 不是 c#独有的功能,用过的人一眼懂,而且表达式比那几行 if 不简洁很多,养成习惯更是告别了空指针错误 |
![]() |
39
laikick 16 小时 9 分钟前 via iPhone
是阿里味 国内互联网公司被阿里这家毒瘤老中公司害惨了
|
40
wu00 16 小时 6 分钟前
面向对象的语言都差不多,java/c# 封装继承多态,你单人项目不做任何设计一把梭也是可以的
多人开发的项目中没有那些”过度设计“中间堆屎可能都堆不动 |
41
seansong 15 小时 56 分钟前
总觉得 java 程序员有种说不出来的根深蒂固的思想,而且总以自己语言的思想去思考或者要求别人,另外就是过度设计、框架化太严重,大概就这些吧
|
42
wysnxzm 15 小时 49 分钟前
Erich Gamma 在其博士论文中进一步探索设计模式,随后与 Richard Helm 、Ralph Johnson 、John Vlissides (合称“四人帮”,GoF )合作,系统整理了 23 种面向对象设计模式。1994 年,GoF 的经典著作《设计模式:可复用面向对象软件的基础》出版,标志着设计模式在软件工程中的体系化与标准化
Java 语言正式发布于 1995 年 5 月 23 日 |
![]() |
45
tommyzhang 15 小时 23 分钟前
是一种无知但又无耻的愚蠢
|
![]() |
47
Maboroshii 15 小时 16 分钟前
只会被引用一次函数也要搞几个设计模式封装一下,函数名还特别长,看 java 转 go 同事写的代码,深深的被震撼到。
|
![]() |
50
zizon 14 小时 26 分钟前
可能因为即使不懂 Java 对于所谓的 Java 味代码都能一眼看出是干什么的从而指点一下吧,不像 rust 之类的学个三五年才敢写基本的双向链表.
|
![]() |
51
liprais 14 小时 25 分钟前
没做过复杂项目呗
|
53
azraeljack 12 小时 47 分钟前
@yooomu #23 我自己感觉写接口的话比较好写单测吧,尤其是 services 之间有依赖关系的时候。当然要是不写单测是无所谓了(逃
|
54
Bingchunmoli 12 小时 2 分钟前 via Android
@yooomu 主要是还有一个问题不是人上来就会用的,只能从简单的需求过度封装去理解设计模式然后才可以灵活使用到该使用的位置,但是人太多参差不齐有的只是为了用而用(比如简历好看)。那就没办法
|
55
james122333 12 小时 0 分钟前 via Android
你凭良心讲这不是很贴切吗 一堆设计模式不过是因应产生 也只有爱写的会觉得设计模式好 事实上 java 也可以不那么写 计算机的世界没有什么是不可以加一层转译的 等遇到了再转译不迟 也不会增加多少複杂度
|
56
james122333 11 小时 53 分钟前 via Android
这有个词叫无招胜有招 见机行事以符合上层脑热想到的 整成 java 那样无法应对千变万化的需求的 光封装可视就搞死人了 这也是框架坏处
|
![]() |
57
levelworm 11 小时 36 分钟前 via Android
getter setter?
|
58
Leon777 11 小时 23 分钟前
没见过复杂的业务逻辑又只会套培训班的模板确实会觉得 java 啰嗦的毫无必要,只有重业务逻辑的项目加经验丰富代码风格优秀的开发人员才能发挥 java 的优势
|
![]() |
59
agagega 11 小时 20 分钟前 ![]() Javaer 就偷着乐吧,Java 味起码还是个言之有物的批评。C++这边,任何 C++新闻都能遇到和内容完全无关的评论,如 C++98 哥、不如 Rust 哥、大道至简哥、花里胡哨哥、纯 C 哥,相比之下 Java 黑太有水平了🤣
|
![]() |
60
YYYeung 9 小时 32 分钟前
不面向对象,是无法管理多人合作的项目的
面向对象的精髓就是:「对象」就是打工人,随时可以被替换 |
![]() |
62
herozzm 7 小时 48 分钟前 via iPhone
因为 javaer 的复杂或者循规蹈矩的绕来绕去的写法为大家所不齿,明明一句能搞定的事情在 java 下面干几十行代码,这不是歧视,而是出于人类趋向简洁明了的工作尊重
|
63
james122333 5 小时 8 分钟前 via Android
|
![]() |
64
aptupdate 3 小时 53 分钟前 via iPhone
|