最近尝试在 PR 里面用了这个 Java10 就有的关键字,结果老外和国人都不能接受,让我改回去。
但是只要把变量命名写的足够表意,我觉得一定程度上是可以使用 var 关键字的。
难道 java boy 不写动态语言吗?

我是完全没必要用,idea 直接 .var 就能自动帮我命名再加上类型,用什么 var

我需要 Scala 风格的 val 和类型推断,然后成熟的 case class ,pattern-match ,不过分吧

有 var 就得有 val ,大部分情况用 val

人家习惯了用筷子, 你问为什么不直接用手.

重点偏了,不是能不能接受的问题,在 pr 的时候是要遵循原项目的编码风格的。你跑去一个全是 var 的项目里面 pr 另一套风格的代码一样会被让改掉。

java 现在偷的差不多了 也就 pattern matching 稍微弱了点,而且还把 scala 解构时根据参数顺序而不是名字解构的雷点也偷了

虽然但是, var 哪里动态了...

项目风格延续吧

#6 值类型还是很不错的, 可惜跟泛型擦除冲突了, 唉.

我想说的其实是,类似于 python 和 js 这种语言,即使你不写类型,也能声明变量。

这倒是。。但是我觉得不使用 var 关键字,是 javaer 思想太过保守。 所以即使起新项目,也没人使用 var 。

提 PR 是好事儿,但是风格一致也是非常合理的要求。这可能不是人家不接受,而是不希望出现这种混合风格。

是工作代码,peer review 。。
当然其他人也有槽点,比如直接把 Repository 层吞了,纠结包装类和基础类型用哪个, 可能是和老外的编程风格不一样吧

java 没有val,类似的功能要写成final var
因为要多打一个单词,所以 java 开发者不太愿意用。

老 Java 农不请自来,个人觉得这个关键字并无卵用,写的时候没爽到哪里去(因为有 idea 的.var ),改的时候还麻烦

其实在 java 自带这玩意之前,lombok 就已经有 var 和 val 了,某个项目里尝试使用过。自我感觉团队水平尚可,代码质量也不错。但是半年之后再看代码发现很多地方都看不懂,本来点类型跳转进去扫一眼就行,这回需要点方法然后点返回值类型扫一眼,然后和同事们交流了一下大家基本都是这个感觉,于是后来的代码里就不再用了

哈哈,有道理

因为 Java 项目大多是重业务的,一个小模块动不动就是几万行起步的业务代码,大概率还有一个产品经理在背后催进度。
这种情况下,类名也是可读性非常重要的一部分,满屏的 var 会直接把别人看红温。

有一说一, 有时候业务复杂度就到这种程度了, 不用 var/val 推断, 标明了具体类型就有可读性了吗?

要是有人能光看类型就才出来这玩意儿是干啥的, 那你就是这个👍

说实话,我就挺讨厌 这个 var 的。

即使我写 go 也不喜欢。直接就是 xx:=xxx

var 表达力是差了点,可以一般用在简单的局部变量里的临时变量,并且命名要带上类型字眼。

还有一种情况,就是多重泛型嵌套的情况下,这个可以简化一点点写法。

其他情况一律不用了。

代码是给人看的,机器能毫秒级推导,人脑能?
给你一个别人的模块去维护,里面全是 var 你骂不骂娘