有没有编程变量名缩写全称的查询网站?

刚打开 golang 教程,看下指针部分,里面有一段是:

ptr := &v // v 的类型为 T

其中 v 代表被取地址的变量,变量 v 的地址使用变量 ptr 进行接收,ptr 的类型为 *T,称做 T 的指针类型,*代表指针。

其中一个变量名 ptr,让我费解了下,因为如果不搞清楚变量名的意思,代码是很难读下去的。

好在这个缩写不太难,它表示 pointer,但在中文教程中第一次见这个词,又没有解释,新手要花很大的精力去搞懂变量名的意义。

有没有一些网站,供查询一些变量名缩写的全称的?

https://www.abbreviations.com/PTR
https://www.urbandictionary.com/define.php?term=Ptr

2 Likes

我的变量名越写越长,就差拿变量名当注释用了(现在注释写的也可长了),反正我希望几个月以后自己拿起自己的代码能够比较容易的读懂。

反正有必要的话,还可以让程序自己去压缩代码

比如 str 通常是指 string 但是如果你遇到一个把 structure 也缩写成 str 的就没辙了.

关键要看代码. 变量本身就是用户自己起的名字.

自己写的话, 尽量不要太短, 除非变量在很短的代码段内使用.

噢哈哈哈,你用汉语当变量名啊

这样的么?

其实中文变量挺好的, 很多人不用的主要原因是需要切换输入法.

当然了, 的确也有人嘲笑这种做法.

以前不用中文变量是编程语言或者开发平台支持度或者兼容性不好. 但是现在的话, 在易读性上, 中文变量远超其他做法.

3 Likes

虽然我自己不会那样去写,但是我个人是完全接受中文变量名的,utf-8 让各种语言平等相处……哎,这么说可以用小众语言设置变量名变相起到混淆的作用

这话题完全带偏了。我提这个问题的原因是,我要去读懂别人的代码,读懂其他人写的开源项目的代码,不可避免的会碰到许多非常通用、但新手不懂的英文缩写,所以才要查询。

不是带偏了. 是之前回答过了. 如果你是要看英文缩写, 你首先要熟悉 某个语言的 关键字.

剩下的就是英语的缩写规则了.

没有什么可查询的.

我见过有拿汉语拼音缩写做变量名的,这个完全没办法理解

这个 Abbreviations.com 的来历有人知道吗,好强大


就是一个普通的、收集缩略词的网站,跟urban dictionary、小鸡词典差不多,只不过专注于缩略词。

又发现了小鸡词典这个宝藏 :joy:

把这个网站所有的词条抓下来了

在欧路字典里使用,非常好用

词典文件见: 缩略语词典:www.abbreviations.com - PDAWIKI

1 Like

这个不是变量名的问题,而是英语的单词缩写习惯问题。当然,相关的词汇量你得先有。英文单词简写,一般是去掉原音发音的字母和字母组合,保留主要辅音音节,有些,则是简单的字头。凡是没什么特殊含义的变量名,基本上都是临时变量,根本不需要去在意他们的含义。跟考英语做阅读理解的人名似的。

这……切换输入法不会疯么?

我就想知道为什么是foo,什么是bar。。。

现代语言理应支持中文

至于用不用,和有没有是两码事,这些语言支持unicode变量名,也不仅仅是为了满足中文用户的需求,实际上大部分非英语用户都有这种需求。

1 Like

阻碍中文编程发展的,主要是编码规范不统一的问题。

国内 Windows 系统是强制 gbk 编码(国家强制要求),国际通用是 UTF-8 编码。Linux 和 MacOS 是 UTF-8 编码。

即使国家取消强制 GBK 编码,Windows 也会因沉重的历史兼容性包袱不能轻易改成 UTF-8,因为那样会使许多旧软件出现问题。

用 utf-8 编码编写的 c/c++ 源码,进行编译后,在 Linux 控制台输出正常。但同一份源码,在国内 Windows 编译后,控制台的输出中文就是乱码。

如果用 GBK 编码保存源码,在国内 win 输出可以正常,但同一份源码在 Linux 下编译后, Linux 控制台输出中文就是乱码。

总之,由于两种编码冲突,输出中文乱码现象很严重,难以保证同一份源代码在所有系统上都输出正确的中文。

一些文件元数据存储文字也跟随 win 系统,windows 使用 gbk,例如 CSV 的默认格式就是 GBK,如果读取 UTF-8 的 CSV 文件,就会有乱码。

在国内 Windows 系统上为照片修改元数据、标签,就是以 GBK 储存,许多国际软件(例如 exiftool exiv2)都只做了 utf-8 支持,读取的结果就出现了乱码。​

另外,有的软件读取目录,使用 UTF-8 编码,但 Windows 给它传递 GBK 编码,结果就找不到文件。典型:pngquant

如果在源文件名中使用了中文,GCC 的 C++ 编译器也无法正常工作。

1 Like