初学 go 语言,经常看到有网友说某某 go 代码一股 Java 味

2020-12-16 20:31:40 +08:00
 hihanley

小白想问问:

  1. 为什么说他一股 java 味
  2. 什么样的 go 代码是优雅的、好的
9927 次点击
所在节点    Go 编程语言
85 条回复
Cbdy
2020-12-16 20:49:34 +08:00
啥是 Java 味?
learningman
2020-12-16 20:50:31 +08:00
借宝地一问,上次看到一人说 Go 是云计算的 PHP,略感迷惑,求解
DEVN
2020-12-16 20:51:31 +08:00
Java 味咋了?
Leigg
2020-12-16 20:55:10 +08:00
什么是好的?只有原则,没有标准,最基本的,按照 go 的代码规范,命名风格来开发。
hihanley
2020-12-16 21:02:33 +08:00
hihanley
2020-12-16 21:03:39 +08:00
@Cbdy @DEVN
我也没太明白,我是 Java,.net core 开发,初学 go,现在甚至连 go demo 都写不出来
cmdOptionKana
2020-12-16 21:18:31 +08:00
Java 是咖啡味
lululau
2020-12-16 21:24:30 +08:00
典型的 Java 味: 所有的类(类型)全部由一对 IXXX 和 XXXImpl 组成
TypeError
2020-12-16 21:26:33 +08:00
https://golang.org/doc/effective_go.html
https://github.com/uber-go/guide/blob/master/style.md
go 风格的看这些差不多了

Java 味我感觉就是过度封装,没高阶函数导致滥用设计模式
Greatshu
2020-12-16 21:26:54 +08:00
给 golang 倒杯卡布奇诺
kidlj
2020-12-16 21:47:13 +08:00
别写 Factory, Impl, Service, Repository etc. hehe
undeflife
2020-12-16 21:49:21 +08:00
golang 这种基本上几乎完全没有 oo 特性的语言,除了文件命名,怎么可能写出 java 味来?
dilu
2020-12-16 21:52:14 +08:00
这个网友怕根本不会 java 吧?就随便听说个名词就来了?
go 更像 c,但是相对比 c 简单。开发成本上更接近 PHP,但是性能比 PHP 好很多。目前 go 还是吹的多,生态感觉还是很一般的。
hihanley
2020-12-17 00:53:04 +08:00
@TypeError 好的大佬,看完语法我就看看这些
hoyixi
2020-12-17 00:59:09 +08:00
接口?链式调用?
没觉得 go 优雅,我觉得说它优雅,是比 C++优雅~

个人觉得 Ruby 语法能算得上优雅,而且,许多其它编程语言这几年的演进,都多少有点学 Ruby 语法的意思。但是 Ruby 写出来的代码又太灵活多样。代码成品+语法整体上,还是不够优雅。

希望有真正优雅的编程语言出现~
dawn009
2020-12-17 01:30:30 +08:00
使用多种编程语言的人,通常都会融合从各个语言里学到的好的编程思想,所以看起来“味”就不那么“纯”?
chenqh
2020-12-17 03:05:58 +08:00
说他是 php,是说他有些设计真的很恶心,但是火的快呀
fengchang
2020-12-17 04:19:36 +08:00
我见过 Java 味儿的 PHP,每个 class 都要带个 interface,class 里的每个属性都要手写 getter 和 setter,再加上一个自己仿的 Hibernate
littlecreek
2020-12-17 04:26:59 +08:00
说是 Java 味, 不如说是被各大公司的 Java 编程规范带偏了的 Java 代码 /设计风格.
前面有人也提过, 比如:
1. 各种过度设计. (各种 Impl, 各种 Factory, 各种 Manager)
2. 函数 /变量名字超长
3. 调用栈超级深, 很多没用的封装
4. 还有别的补充吗?
Weixiao0725
2020-12-17 06:31:24 +08:00
@dilu 不吹,谁去建设生态

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

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

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

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

© 2021 V2EX