吐槽 为啥 Java 的一些库起名都这么奇怪?

2022-03-10 01:22:10 +08:00
 anxn

比如说之前爆漏洞的那个日志库,log4j 英文里边混数字,有的索性,有的不缩写,有的音译成数字(log 没缩写,4 是音译成数字,j 是缩写),感觉起名咋这么另类

举个其他语言的,像 Python 的 requests 库,scrapy ,bs4 ,pillow 等等 大多数都是一个单词搞定,最多也就是英文加一个数字,记着好记,见词知意,打字也好打,不用来回切输入法,还有 go 语言的一些比如:gjson ,gin ,echo ,gorm ,docker ,k8s ,k3s 等等,要么都是字母,最多也就是像 k3s 这种缩写后的字母和数字混用,不过 k8s 不缩写本来也就是一个词汇,而且 k8s 这种,基本看了一眼就很容易记住

反而是 Java 的的 log4j 这种起名很另类,缩写比较随意

10886 次点击
所在节点    Java
108 条回复
Leviathann
2022-03-10 01:42:35 +08:00
显然还是 k8s i18n 更莫名其妙一点,这种睿智缩写所有人第一次见都要查一遍是什么吊东西
java 的问题在于喜欢用 j 指代 java ,看起来特别丑
westoy
2022-03-10 01:52:27 +08:00
用 J 代指 Java 是因为 Java 是商标,SUN 时期就打击滥用的
GuuJiang
2022-03-10 02:12:14 +08:00
4-for
2-to
这两个算是缩写届的共识了吧?遵循这个规则的缩写一抓一大把
boshok
2022-03-10 02:37:15 +08:00
OP 好像不太懂 E 文。
Mirage09
2022-03-10 02:49:40 +08:00
Log4j 我在心里默读都是 logging for j ,突然发现我读的是错的 lol
yeyang5211
2022-03-10 03:17:28 +08:00
log4j 解释了 再列一些你觉得怪的啊..
abysmalIQ
2022-03-10 04:20:42 +08:00
我不懂英文,但是我就不去学,我就爱对英文指手画脚
jorneyr
2022-03-10 07:03:33 +08:00
Anxn 这串字母才叫怪呢?
字典里查不到,拼音不是拼音、英文不是英文、俄语不是俄语,啥玩意?
chendy
2022-03-10 07:51:33 +08:00
4 = for
j = java
log4j = log for java
好像也没啥奇怪的啊
aaniao002
2022-03-10 08:16:40 +08:00
浓浓的咖喱味。
Goooooos
2022-03-10 08:16:46 +08:00
居然吐槽 log4j 奇怪,k8s,k3s 不奇怪。。。

https://docs.rancher.cn/docs/k3s/_index/#:~:text=%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%ABK3s%3F,%E7%9A%84%E5%8D%95%E8%AF%8D%EF%BC%8C%E7%AE%80%E5%86%99%E4%B8%BAK3s%E3%80%82
```
为什么叫 K3s?
我们希望安装的 Kubernetes 在内存占用方面只是一半的大小。Kubernetes 是一个 10 个字母的单词,简写为 K8s 。所以,有 Kubernetes 一半大的东西就是一个 5 个字母的单词,简写为 K3s 。K3s 没有全称,也没有官方的发音。
```
VeryZero
2022-03-10 08:38:04 +08:00
充分说明了什么叫偏见。

你例子里的 bs4 、k8s 、k3s 没问题,搁 Java 这就有问题了。。

请跟我读,log for j ,是不是舒服多了。

你想缩写成 l4j ?缩写的意义是单词太多或太长了,log 就 3 个字母有必要缩写吗?而且过度缩写只能让人增加困惑,如果是 l4j 别人怎么知道是 log4j 还是 lol4j ?

而且这不是 Java 原创的,我记得以前学 C/C++的时候,库里面一堆*2*这种函数。
Kontinue
2022-03-10 08:38:16 +08:00
作者想取啥名就啥名,这都可以拿出来引战,笑死
cweijan
2022-03-10 08:45:18 +08:00
@Leviathann i18n 还是没啥问题的, 全称太长了
comlewin
2022-03-10 08:47:43 +08:00
不明白你这吐槽有什么意义
k8s ,k3s ,bs4 你能理解
log4j 你就感觉有问题
你 Python 用习惯了
yinzhili
2022-03-10 08:54:59 +08:00
楼主还是太年轻,00 后?
没见过 C/C++的一些更不好理解的函数命名?
hingbong
2022-03-10 08:59:03 +08:00
抛开我不会英语不讲,他就一点错没有吗
HardStone
2022-03-10 09:01:40 +08:00
每日一乐
anxn
2022-03-10 09:02:28 +08:00
@hingbong 我大学时英语过了六级的 够用吗
banmuyutian
2022-03-10 09:05:08 +08:00
楼主竟然觉得 4=for 和 2=to 比起 i18n 和 k8s 这种还难理解吗,前者可不是 java 库的命名习惯而是一种英语习惯

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

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

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

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

© 2021 V2EX