想问问大家,现在编写代码的工作区文件路径需要全部保持纯英文么?
1
eason1874 2022-08-11 19:45:50 +08:00
用英文,加起来也没几个单词
|
2
tomczhen 2022-08-11 19:45:57 +08:00 via Android 1
不考虑跨平台带来的文件系统差异造成的文件路径合法字符集、编码不一样这个问题,现代开发语言只要合理的使用是不用特别在意这块的。
但是你架不住各种不正确的文件路径操作代码,毕竟很多人就是真的是:在我机器上是好的。 |
3
Ediacaran 2022-08-11 19:49:13 +08:00 10
需要,这样在终端打路径的时候不用切输入法
|
4
rpman 2022-08-11 19:50:22 +08:00 via iPhone 4
用英文路径可以节省 debug 时间
用中文路径可以帮人 debug 🐶 |
5
GP1 2022-08-11 19:50:50 +08:00
单词就那么几个,用多了也就那样,说白了还是你不肯走出舒适区,那你说个屁。
|
6
cmdOptionKana 2022-08-11 19:51:55 +08:00
自己一个人用的环境可以用中文字,毕竟好不好用自己说了算,不会影响别人,遇到问题也能自己解决。
|
7
horseInBlack 2022-08-11 19:52:44 +08:00
以前学 Python2 、PHP5 等的教程,都要学如何设置字符编码避免乱码,现在好像不用这样了
不过操作 Linux 服务器的时候,shell 的中文注释啥的会乱码,可以专门设置但是没必要,一般就简单英文描述下就行了 不过我倒是遇到一个问题,告诉别人 Chrome 设置启动项没生效反而有了新的 bug ,网上、周围的人都没遇到过 后来一个经验丰富的老大哥发现,那个用户设置启动项的时候用户资料文件夹中间是空格,可能是因为这样设置没成功,我们自己都习惯文件夹命名用 - 或者 _ 没注意到 |
8
renmu 2022-08-11 20:07:26 +08:00 via Android
要,因为如果有不兼容的,你得花非常多的时间来调试。
|
9
weichengwu 2022-08-11 20:23:08 +08:00 via iPhone 33
|
10
LotusChuan 2022-08-11 20:36:47 +08:00
个人习惯吧,如果乐于用中文那应该也会乐于解决用中文可能带来的问题。用英文对我来说主要是输入法切换的问题,图形化界面还不明显;但是命令行就影响比较大了,比如我在用 vim 编辑 main.cpp ,然后想打开./测试.cpp ,那我至少得按两次中英文切换(一次切成中文输入“测试”,一次切回英文输入“.”),在频繁切换文件的时候影响还是挺大的。
|
11
Leoooooo 2022-08-11 20:51:21 +08:00
用单词方便你我他
|
12
nightwitch 2022-08-11 20:55:40 +08:00
在 Windows 平台想要正确处理非 ASCII 字符串是个比较麻烦的事情,尤其是包含非 BMP 平面的字符,有的 API 即使是 Unicode 版本也只能正确处理 BMP 平面内的字符,比如 lstrlenW 函数计算 `𪚥👿🇨🇳`字符串的长度,会返回 8
|
13
zhangxzh 2022-08-11 21:17:25 +08:00 via Android
随便去用,仍不支持的东西,仍有兼容性问题的东西,扔了吧
|
14
Vegetable 2022-08-11 21:50:23 +08:00
@weichengwu 太真实了,这玩意翻译一遍没人认识
|
15
cmdOptionKana 2022-08-11 23:27:16 +08:00 1
@weichengwu 中文真的非常清晰简洁。
|
16
MajestySolor 2022-08-12 00:21:05 +08:00
用中文字符必然出稀奇古怪的问题,不是这里出问题就是那里出问题,不是今天出问题就是明天出问题。
|
17
spediacn 2022-08-12 01:40:42 +08:00
做外包的时候一个全角字符都能惹出巨大麻烦,不仅仅不能用中文写,而且还得关掉输入法。全程英文,如果可以的话,操作系统都用英文,这样就不会忘记设置字符集惹出麻烦。有些老外真的烦,用 utf-8 死活不认,非得 iso-8859-1
|
18
js8510 2022-08-12 01:53:05 +08:00
你老师是过来人,他说的对。
我想起来一个故事: 我在外企,都是英文。又一次肯定是个中国同事在提交的 PR 里面加了个中文逗号:"," 。结果把某个自动集成平台搞挂了。。因为后端的 sql database 默认是不支持中文字符的。 结果两个外国人 debug 几个小时没搞明白知道我出现一眼就看出来 , != , |
19
seanzxx 2022-08-12 03:18:52 +08:00
用英文主要是速度快呀,中文还要用输入法,多麻烦。
|
20
kkocdko 2022-08-12 03:38:14 +08:00
对于用户,我们要支持空格 /非 ascii 路径。
对于程序员,一般都会习惯用 ascii 非空格路径,terminal 里头敲路径方便。 |
21
FrankHB 2022-08-12 05:00:35 +08:00
该用啥用啥,只要你清楚代价。
最大化可移植性不是目的,否则干脆把 MS-DOS 的 8.3 也支持了,但一般显然没必要。 编码么同一个环境通常不是问题,但不排除比较极端的例外(比如 Windows 下升级 hg 版本可能活久见乱码)。 不过就算不考虑这些,只要可能换系统玩,文件系统大小写问题也够你喝一壶了。( NTFS 现在虽然支持大小写敏感,但得单独设置,而且设置以后像一些 ps1 命令直接罢工了。) @nightwitch 非 BMP 问题还不如甩锅给 Unicode 自己。一开始就妄想 BMP 解决问题,直接搞出 UCS-2 半吊子,还要 UTF-8 擦屁股,又回过头另外擦出个 U+10FFFF 的 magic number 。这还没完,刷版本到处给跟不上的兼容,Han unification 漏去重之类的添乱不说,UTS#51 什么屑玩意儿……甚至还能遇到 zzzq 问题( https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1949r7.html#all-emoji-become-excluded-instead-of-just-some ),xswl…… 即便是 BMP 在这里也还有问题,比如有多少用户敢确信清楚自己用的环境对 NFD/NFC/NFKC 的支持?能塞零宽和控制字符进去么?(虽然 OP 只是说中文基本不用管这破事。)(其实控制字符嘛,就是 ASCII 也有这个问题,但很容易限制;关键差别是 Unicode 的破烂即便不考虑版本都不是能指望人能枚举完的。) |
24
bear1man 2022-08-12 09:12:39 +08:00
太有必要了,你完全不知道什么时候会出幺蛾子。
个人习惯,在 win 下,不止是工作路径,你的 username 最好也是英文,如果你登录微软账户,保证你的微软账户昵称是英文,不然它会给你改名。而且我个人是会打开全局 utf-8 功能的。尽管开了之后会有部分应用乱码。 以上都是我用 win 多年总结的经验。顺便夸一句 mac os 在字符编码方面做的不错了,完全没遇到过乱码 /中文路径问题。 |
25
murmur 2022-08-12 09:14:10 +08:00
要的,我真遇到过中文路径的 bug
|
26
nothingistrue 2022-08-12 09:15:43 +08:00
只要是纯的,不管是纯英文还是纯中文都是可以的。但是,现在没法纯中文。平常所说的中英文问题,实际上是纯英文跟中英混合的对比问题,自然是能用前者就用前者。
|
27
jackmod 2022-08-12 09:18:54 +08:00
要看写什么代码,以及编译系统是怎么处理路径的。
顺便,转移到 linux 上面反而无需在意路径用什么字符了 |
28
ClydeX 2022-08-12 09:20:20 +08:00
会遇到一些问题,但绝大部分都有解决方法,没啥
|
29
Leonard 2022-08-12 09:21:20 +08:00
自己一个人开发随便,否则尽量不要用中文路径
|
30
zyy314680012 2022-08-12 09:22:54 +08:00 via Android
反正我的 code 目录基本都英文的
|
31
HeFengzz 2022-08-12 09:24:18 +08:00
安装一些软件或游戏的时候,你不用英文(或带有空格)可能找不到游戏存档
|
32
HeFengzz 2022-08-12 09:25:52 +08:00
|
33
xiaojun1994 2022-08-12 09:45:39 +08:00
两年前我用 flutter 遇到过中文目录不行的问题
|
34
mknightoy 2022-08-12 09:56:14 +08:00
现在项目都是 utf-8 了用中文没什么问题,老项目除外
另外别用中文的时候顺手输入了全角符号会坑死人 |
35
chiyagao OP 哇咔咔咔
|
36
haodingzan 2022-08-12 10:27:15 +08:00
@weichengwu 以前我坚持纯英文,点进来也是劝 OP 用英文,看了你的图才意识到我错哪了……
|
37
cssk 2022-08-12 10:59:11 +08:00
那必须的,comment 都英文,打起来不用切换输入法
|
38
7gugu 2022-08-12 13:28:19 +08:00
如果要经常用终端切换路径的话,还是用全英文比较好,不用切换输入法这么麻烦
|
39
akira 2022-08-12 13:48:47 +08:00
即使是 2022 年了 ,你的 XP 用户 还是在用着 XP ,你的 IE6 用户还是在用着 IE6
世界变了很多,但其实又没有 |
40
AoEiuV020CN 2022-08-12 16:38:49 +08:00
我不用纠结,因为 android studio 压根不支持中文路径,
|
41
coala 2022-08-12 16:39:46 +08:00
就刚刚, 我 Nacos 还在中文目录启动失败找不到配置文件呢...
我之前还有一个全角 A 引发的 Bug , 两 A 有啥区别? 给你看看 苏A, 苏 A 看出来差别了吗? 两个 A 不一样的.. |
42
Jooooooooo 2022-08-12 16:39:55 +08:00
搞个最新的 emoji
|
43
newmlp 2022-08-12 16:44:33 +08:00
用中文纯属没事找事
|
44
sutra 2022-08-12 16:48:25 +08:00
命令行还是英文更快。
|
45
functioncloud 2022-08-12 17:02:56 +08:00 1
前段时间在 win 平板上装罗技驱动,安装器死活下载不了,后来发现是中文 username 导致找不到路径
|
46
DonDonc 2022-08-12 17:06:55 +08:00 1
@coala 一直觉得某些领域还是留给 ASCII 就够了,特别是听过某些 URL 诈骗案例后。
A U+0041 Latin Capital Letter A A U+FF21 Fullwidth Latin Capital Letter A Α U+0391 Greek Capital Letter Alpha А U+0410 Cyrillic Capital Letter A ᴀ U+1D00 Latin Letter Small Capital A ᴬ U+1D2C Modifier Letter Capital A 𝙰 U+1D670 Mathematical Monospace Capital A 𝖠 U+1D670 Mathematical Monospace Capital A 𝖠 U+1D5A0 Mathematical Sans-Serif Capital A |
47
adoal 2022-08-12 17:51:34 +08:00
@tomczhen 还有文件名长度问题……以前遇到一个例子,各业务合作单位交过来的抗疫报道照片、视频等资料,没有统一标准,有些比较文青的拍摄者在文件名里会写很长的介绍,写得还很生动。拷在 NTFS 移动硬盘上没问题,要 FTP 上传到 Linux 服务器就不行。为啥呢,因 Linux VFS 的文件名在语义里不包括编码,就是 as-is bytes ,用 byte 为单位计长度的,整个路径全长最多 PATH_MAX 个 byte……而 NT 是 UTF-16 编码的,以 UTF-16 单元为单位计长度。即便不考虑 NT 可以用 UNC 的超长路径,只看 MAX_PATH 的限制,在 NT 上可以的,到 Linux VFS 就严重超长。
|
48
duke807 2022-08-12 18:15:08 +08:00 via Android 2
中文文件名,zip 压缩包跨平台会乱码
|
49
libook 2022-08-12 18:38:22 +08:00
在 Unicode 支持好的环境、语言、框架上没必要完全杜绝使用中文,但是要不要用、什么时候用、怎么用得需要根据项目具体情况来看,评估一下用中文的收益和代价是啥。
|
50
janxin 2022-08-12 18:41:01 +08:00
之前确实会有问题的,现在嘛...
|
51
nick0x01 2022-08-12 18:44:31 +08:00
如果做到了行业的顶尖水平,并且能维持住地位,我想用什么就用什么,用户必须跟着学。
如果没有,行业大佬用什么我用什么。 |
52
killeder 2022-08-12 19:07:00 +08:00 via Android
不是闲的没事干或者不想自找麻烦就用英文,并且尽量不要用空格
|
53
dcsuibian 2022-08-12 19:48:51 +08:00
用中文怕的不是自己程序写错,而是 IDE 、构建工具等出问题,这种时候是解决不了的。
但如果大家都不用中文,那么这种问题就不会得到开发者的重视。 |
54
SeanTo 2022-08-13 10:15:37 +08:00 via Android
有必要。需要考虑的不仅仅是操作系统的问题,还有应用软件。我很早就习惯用英文名字,实在不会写的单词用拼音。有很多软件字符处理不好,但自己习惯直完全没有问题就发现不了,但架不住别人给你的文件会出现中文甚至含空格的情况。用过一个叫 EasyBuilder 的触摸屏开发环境,中文名打开编辑保存都没问题,一编译就通不过,查了很久才发现是文件名的问题。编译实际上是另外的程序完成的,开发程序的人可能并未考虑到字符兼容性问题,平常发现不了。
|
55
gefranks 2022-08-13 13:21:00 +08:00 via iPhone
用英文并且路径里面不要带空格,避免出现莫名其妙的问题搞半天
|
56
lfzyx 2022-08-13 15:45:07 +08:00
所以现在的 00 后是连英文都退化成这样了?还把中文转成拼音,笑死
|