昨天公司内部培训代码规范,我提出中文注释会导致乱码问题, cto 直接说以后不能用中文和拼音全部用英文, ceo 说第一次听到有人注释用中文. 我的疑问 1.是否所有大公司都不允许注释用英文和拼音? 2.如果全部用英文那英文水平一般的怎么根据关键字查找代码,比如我第一次写的英文单词跟后面不一样或者忘了查起来比较麻烦,类似 git log 这种用中文也比较直观,这也是我一直用中文的原因.
1
ijixiangus 2022-10-15 12:07:43 +08:00 8
以 「大部分人能看懂」 为原则
|
2
FreeEx 2022-10-15 12:10:07 +08:00 via iPhone
没去过外企,我都是写中文注释。
|
3
chenshun00 2022-10-15 12:21:18 +08:00 16
为什么中文注释会导致乱码问题呢. 我迷茫了
|
4
Mzs 2022-10-15 12:22:13 +08:00
乱码问题统一字符集格式就不会出现
1.不是,很多都是中文的,大家统一约定就行或者按照公司要求来 2.如果一定要用英文,就慢慢适应就好 |
5
vvhhaaattt 2022-10-15 12:28:24 +08:00 via Android
团队有部分人在海外,不过都是中文母语
有同事注释写英文,应该是之前推过这方面规范,我觉得没啥用,除非团队中真的非中文母语有一定比例,非母语注释还得脑内翻译下。 |
6
dayeye2006199 2022-10-15 12:35:47 +08:00
英文编码 中文注释会频繁导致输入法切换来切换去。
关键我还用 vim mode ,这个酸爽。。。 |
7
XiLingHost 2022-10-15 12:37:44 +08:00 2
一般不用,毕竟中文要输入法,而且确实存在编码问题,虽然现在大多数都是 utf-8 ,但是在某些终端下是只支持 ASCII 字符集的,那么你的注释就会全变成黑框
|
8
sadfQED2 2022-10-15 12:40:24 +08:00 via Android 18
我提出中文注释会导致乱码问题。你们难道用的记事本写代码吗?这年头还有注释会出乱码的问题?
我待会好多团队,代码注释都是写中文。写英语怕不是为了装逼?一个中国团队,又没外国人,你写毛英语啊。写拼音?你是想找打? |
9
9ine 2022-10-15 12:43:49 +08:00
中文注释乱码问题没有遇到过。倒是和英文字体不等宽看得强迫症有点不适...合适的场景一般都用英文。
|
10
Laobai 2022-10-15 12:48:32 +08:00
都写中文,没有乱码问题啊
|
11
shijingshijing 2022-10-15 12:50:35 +08:00
@chenshun00 碰到过特定软件的 Python 测试脚本中,注释包含了中文字符[,] 跑的时候直接退出了,好一顿 debug
|
12
leonshaw 2022-10-15 12:53:40 +08:00 1
不用中文,输入法切来切去麻烦,而且不少变量名、关键字、不好翻的术语很容易变成中英夹杂不伦不类。
|
13
star9029 2022-10-15 13:02:24 +08:00
c++ 用中文注释有几率编译不过
|
14
dcsuibian 2022-10-15 13:02:48 +08:00
我写的中文注释,毕竟看的人是中国人。
编码基本全都是直接 UTF-8 。 只有.propreties 配置文件(默认的 ISO-8859-1 )和 powershell 脚本文件中不使用中文注释。 |
15
buermo 2022-10-15 13:03:06 +08:00 via Android
中文注释经常写的啊
拼音注释比较忍不了 |
16
james2013 2022-10-15 13:07:33 +08:00 via Android
中文注释导致乱码,我觉得只有初级开发才有这个问题
我写了这么久,在 window 上无非是文件编码不对导致乱码,现在 ide 默认特定文件编码,比如 utf-8 ,只有垃圾开发才会特意在项目里用多种文件编码 如果不是外企和有特定需求,我觉得绝大部分写中文注释更好 |
17
dustynight 2022-10-15 13:10:52 +08:00
个人习惯写英文,后来被要求写中文。这个我觉得整个团队有共识就行,没什么好纠结的。
|
18
FrankFang128 2022-10-15 13:15:40 +08:00
GB2312 、GBK 时代的 CTO 没用过 UTF8 吗?
|
19
wonderfulcxm 2022-10-15 13:21:19 +08:00 via iPhone
我是混写,一般写英文,如果太复杂我表达不好就换中文…反正也就我自己看🙄️
|
20
bthulu 2022-10-15 13:23:58 +08:00 2
我们都是中文转成 BASE64, IDE 插件自动回转到中文, 既不会有乱码问题, 也是中文容易看懂
|
21
24bit 2022-10-15 13:24:13 +08:00
怎么清楚怎么来
|
22
blancokitsune 2022-10-15 13:33:37 +08:00
文件内有中文等内容导致编译出错,可能就只有自己手动编译时候了。。现在 IDE 一类的东西都会处理编码问题吧
|
23
a33291 2022-10-15 13:36:13 +08:00 2
别说注释了,我们数据库字段都是中文的.因为很多行业名字英文根本不好翻或者又臭又长🤣
|
25
Hurriance 2022-10-15 13:43:25 +08:00
如果需求文档也是用英文的,那就用英文吧,跟需求文档的语言保持一致
|
26
cocong 2022-10-15 13:44:18 +08:00
不用纠结了,直接不写注释,完美。
|
27
si 2022-10-15 13:45:05 +08:00 17
如果代码中用了中文会导致乱码,说明有人没有用 UTF-8 编码,不止不会设置编码,也不会用 Google 、百度解决问题。
先别考虑英文水平了,还是先考虑这个人有没有解决问题的能力吧。遇到问题他能解决吗? 如果程序是多个国家的开发者一起开发,统一用英文很正常。 如果开发者统一为某个国家,用开发者的母语是很正常的,除非代码要交给外国客户,不然要求全用英文实属自找麻烦。 对于要求代码全英文的公司,我比较好奇他们说话和文字交流是不是也是全英文。 |
28
JamesR 2022-10-15 14:05:16 +08:00
我公司内部项目注释基本是中文(开发者里没有老外),Git 提交是统一英文或中文。
私人项目,注释用中文。 开源项目,注释才用得着英文。 |
29
bojackhorseman 2022-10-15 14:05:53 +08:00 via iPhone
写中文,不仅给自己看,也是给同事看
|
30
x86 2022-10-15 14:12:55 +08:00
高手啊,还用记事本写代码的
|
31
WuSiYu 2022-10-15 14:14:20 +08:00
都 utf8 了不会乱码的,如果没有国际化需求、不是开源项目,那中文就没毛病,你英语再好,中文也是写起来快读起来快
|
32
duke807 2022-10-15 14:29:19 +08:00 via Android
用粤拼写注释,这样你就会变的不可替代 doge
|
34
msg7086 2022-10-15 14:35:11 +08:00
大多数同事不懂中文,所以全写英文注释。
|
35
wasd6267016 2022-10-15 14:48:44 +08:00
我写中文 有时候一些逻辑需要解释 中文方便你我他
|
36
GeruzoniAnsasu 2022-10-15 14:59:04 +08:00
2022 年还在讨论源码乱码问题难以想象是写什么代码的公司
标识符用不用中文都不值得争了 |
37
aliveyang 2022-10-15 15:02:01 +08:00
你要是你写的注解之后自己都看不懂,那才是尴尬
|
38
Torpedo 2022-10-15 15:15:54 +08:00
现在大部分代码都是 utf8 的,别说注释了,变量都支持中文啊
|
39
cmdOptionKana 2022-10-15 15:25:18 +08:00
英语水平高的人可能更希望大家写中文,因为大多数人写英文必然错漏百出,英语好的人看这些四不像英文句子应该会很痛苦吧。
|
40
IvanLi127 2022-10-15 15:29:07 +08:00 via Android
现代的编程语言一般用 utf8 编码的源代码文件,用中文日文还是别的文字都行,我还加 emoji 呢。
单纯从技术角度,建议把 ceo(?还是 cto)开了。。。居然中文写注释都没听过 。。。 不过要求注释用英文,不算过分要求,具体得看团队。 |
41
Solace202 2022-10-15 15:33:04 +08:00
注释都是中文,或者直接贴相关的需求链接地址。
日志一般打英文,不然要是中文乱码定位问题很难受 |
42
masterclock 2022-10-15 16:03:07 +08:00
编码问题没那么容易解决
尽管大多数情况下是 UTF8 ,可有的项目规定必须使用 GB2312 通信、文件编码必须是 GB18030 |
43
reallynyn 2022-10-15 16:12:05 +08:00
@si Utf8 还被巨硬搞出 bom 和 no-bom 呢。
记得很多年前 svn 提交中文会报错,我就习惯一直用英文写 comment 了。 |
44
ClarkAbe 2022-10-15 16:44:46 +08:00
一般中文, 除非一些国际上的才会拼几个单词上去, UTF-8 要是打开乱码然后还来辖几把问 "为什么打开乱码啊,怎么搞啊...", 那要么让他找个班上要么就.....
|
45
wolong 2022-10-15 17:09:23 +08:00
反正我写的是中文,要是写英文,我写的别人看不懂,别人写的我看不懂。
|
46
ilovecqrwx 2022-10-15 17:10:34 +08:00
在中国就写中文,这应该去解决乱码的问题呀
|
47
kiwi95 2022-10-15 17:23:09 +08:00 via Android
注释和 git log 一直都写英文,毕竟也代码是类似英文的。且不说编码问题,中文文本在结合一些 Linux 命令使用时不方便
|
48
JohnBull 2022-10-15 17:28:25 +08:00
只要确保使用 UTF-8 编码,我不拒绝中文注释
|
49
westoy 2022-10-15 17:44:09 +08:00 via Android
只要不写注释,就不会有这种烦恼
|
50
renmu 2022-10-15 17:52:23 +08:00 via Android 1
然后写翻译的英语是个二把刀,看翻译的也是个二把刀,语意不知道偏到哪里去了
|
51
lavenderkissyou 2022-10-15 18:24:30 +08:00
之前做单片机的时候,注释都是写的中文的,这样同事也看的方便一些
|
52
raptor 2022-10-15 19:11:46 +08:00
都这年头了,连乱码都处理不好的公司还是别混了吧……
当然如果是国际化团队的话,还是全英文好些。 |
53
fox0001 2022-10-15 19:16:27 +08:00 via Android
一般代码注释写中文。没办法,同事连 start 都不会读…
脚本、log 那些可能用英文,因为那些文件不能保证 utf-8 编码。 |
54
jorneyr 2022-10-15 19:23:16 +08:00
看一段我的代码:
/** * 判断复制操作的结果是成功还是失败。 * * 复制操作的输出样例: * TASK [copy file or directory located at remote into Ansible Host] ************************************ * changed: [192.168.12.101] * * PLAY RECAP ******************************************************************************************* * 192.168.12.101 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 * * 说明: * - PLAY RECAP 的下一行表示操作成功失败的信息。 * - 使用 copy 模块从 Ansible 复制文件或者目录到 Node ,ok=2 时操作成功。 * - 使用 fetch 模块从 Node 复制文件到 Ansible ,ok=2 时操作成功。 * - 使用 fetch 模块从 Node 复制目录到 Ansible ,ok=3 时操作成功。 * * @param copyOutput Ansible 复制操作的输出日志 * @return 复制操作成功则返回 true ,否则返回 false */ public static boolean judgeCopySuccess(String copyOutput) { String ok = null; Matcher matcher = COPY_RESULT_PATTERN.matcher(copyOutput); if (matcher.find()) { // 获取 ok 的值 ok = matcher.group(1); } return "2".equals(ok) || "3".equals(ok); } |
55
janxin 2022-10-15 19:30:37 +08:00
现在还有不按照 UTF-8 保存源文件的么...
以前确实是会有问题的,UTF-8 普及不够。 |
56
chenxiankong 2022-10-15 19:30:42 +08:00
注释的目的永远是给想看懂代码的人看懂。我的原则是:
- 如果都是公司内部人看,组员看,国人看,就中文。 - 如果是开源项目,还是英文比较好。 |
57
paopjian 2022-10-15 19:32:51 +08:00
中文会导致乱码问题确实可能存在啊,以前有人写 php,测试的时候服务器上有个小改动,vim 没设 utf-8 编码,导致打开再保存以后就有乱码串行了
|
58
limebax 2022-10-15 19:43:42 +08:00
偶尔会写吧,毕竟英文木有那么好
|
59
eason1874 2022-10-15 19:53:18 +08:00
写中文注释就行了,没有编辑器不支持 UTF8
如果部署环境不支持 UTF8 ,那在部署代码里添加自动删除注释的功能,自动清除注释再部署 |
60
MajestySolor 2022-10-15 20:02:20 +08:00
团队项目按团队规矩来,个人项目随便怎么折腾
|
61
hyy1995 2022-10-15 20:10:53 +08:00
先讲清楚你是远程办公海外的公司,还是外企,还是国内公司。如果是国内公司,用英文注释就是脱裤子放屁,而且大概率是机翻英文,词不达意
|
62
lifesimple 2022-10-15 21:39:08 +08:00
不是说好的代码都不需要注释么
|
63
wudicgi 2022-10-15 21:44:26 +08:00
英文代码 + 中文注释 我觉得非常好,能很自然的区分开,否则一片都是英文只能靠颜色区分了
只有面向国际的项目才写英文注释 |
64
lucays 2022-10-15 22:14:08 +08:00
啊这
我在的这家外企,但是团队里都是国人写中文注释也见到过,没有说禁止写啊 |
65
loolac 2022-10-15 22:21:19 +08:00
中文注释会导致乱码问题??? 什么情况下会导致乱码? 只要不是有国际化需求,没必要必须使用英文吧。
|
66
zsj950618 2022-10-15 22:26:47 +08:00
首先,作为一个程序员,英语是基本要求。招人时直接 pass 掉不会英语,搜索只会用百度和中文的就可以了。
当你同时会中文和英文,用啥写都没问题。当你只会中文,用中文写注释就是你的问题了。 |
67
tool2d 2022-10-15 22:35:34 +08:00 via Android
以前很喜欢英文注释,向老外靠齐嘛,对接全球化。
现在不喜欢了,直接用中文,更能表达准确的思路。 |
68
lujiaosama 2022-10-15 22:40:57 +08:00
我在 debian 上直接用 vim 写代码, 断网状态中文全乱码被迫英文注释. 团队平均英文水平不高还是别推英文注释了, 中式英语怎么读啊更加看不懂了.
|
69
jackmod 2022-10-15 22:47:01 +08:00
混过对日外包,里面大片日文。私人项目直接中文就好了,没有任何不适。参与的开源项目只用英文。
|
71
fkdog 2022-10-15 23:42:58 +08:00 via iPhone
团队里没有外国人,业务也不面向国外,写个鸡毛英文注释不是在装逼是啥…?
有些人英文小作文都写不流畅,chiglish 比咖喱味更恶心我觉得还是算了吧。 |
72
HankAviator 2022-10-15 23:57:28 +08:00
内部项目随便,如果有任何想公开的想法,要么改英文注释,要么打消这个想法。
|
73
kingcc 2022-10-16 00:00:02 +08:00 via Android
6 ,你们 cto 连编码都没学明白
|
74
techon 2022-10-16 00:28:40 +08:00
个人看心情,公司项目还是按要求来。。。
|
75
interim 2022-10-16 00:41:59 +08:00
这个人是怎么当上 CTO 的,卧虎藏龙。
|
76
Musong 2022-10-16 00:43:58 +08:00
刚毕业写英文,后来发现在我所在的公司,写英文注释既没逼格也没用处,后来就写英文了
不过有看过代码注释写了三个还是四个程序员前赴后继的在一个很老的接口上写这个接口内部逻辑多坑,不要改,以及他们改之后受到的报应 😂 |
78
7gugu 2022-10-16 00:48:47 +08:00
肯定写中文啊,干活追求的是效率
|
79
icy37785 2022-10-16 01:34:45 +08:00
2022 年了,还会有中文乱码的现象?连 windows10 的记事本默认编码都是 utf8 了。能出现中文乱码,这已经不是注释用中文英文的问题了,这是有史前文明混入了你们的队伍啊。
主要是,难道你们的程序里面所有的字符串都是英文?编码整不明白,中文字符串也一样乱码呀,你们开发纯英文软件嘛。 |
81
majula 2022-10-16 02:03:01 +08:00
注释写不写中文,跟文档写不写中文,原则是一样的
如果目标用户和协作者只有国人,比如公司项目、面向国人的开源项目等,那就用中文,否则用英文 除非团队另有规范 |
82
suyeH 2022-10-16 04:07:25 +08:00 2
从来不写中文,代码里面夹着中文,看着就不舒服
|
83
billgong 2022-10-16 05:56:01 +08:00 via iPhone
@chenshun00 同意啊,都 2020+了难不成还有代码不是 Unicode 保存的?
|
84
akira 2022-10-16 06:22:03 +08:00
每家公司的实际情况都不大一样,按照定好的规范要求走就是了。
小马过河 不只是一篇课文。 |
85
iwh718 2022-10-16 08:13:24 +08:00
注释也卷吗。
|
86
wangritian 2022-10-16 09:40:55 +08:00
全中国人的团队注释写英文你不感觉搞笑吗
|
87
FrankHB 2022-10-16 09:46:57 +08:00
@GeruzoniAnsasu 不说中文,倒也可能是负责给 Unicode 糊的屎擦屁股的公司。
比如纠结标识符里能给用哪些 emoji 。 |
88
FrankHB 2022-10-16 10:02:30 +08:00
@FrankFang128 @kingcc @interim 这问题不是改过了?我这里看到的是 OP 说“我提出中文注释会导致乱码问题”,CTO 直接拒绝中文和拼音,也没说理由跟乱码有关(拒绝拼音跟乱码应该也没关系)。
@IvanLi127 这边对未经许可擅自加 emoji 的我会认真基于头脑过于简单的理由考虑打死,至少有这些理由: (1)可能毫无原则地歧视色觉障碍者; (2)直接就有 www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1949r7.html#all-emoji-become-excluded-instead-of-just-some 这样的 zz 不正确的破事; (3)可能间接扰乱关注点,唆使业界一般用户普遍分不清重点,导致或者加剧 github.com/llvm/llvm-project/issues/54732 之类的问题。 @reallynyn 你太抬举巨硬了。 BOM 不是巨硬发明的,正如一般的二进制文件的文件头也不是巨硬发明的一样。 没 BOM 而产生混乱的实例是很好找,比如 VS 就不认没 BOM 的 UTF-8 。FreeImage 这种注释里直接写了非 ASCII 作者名字的在当前代码页中不认识,一打开就就呵呵了。 但对没 BOM 的“文件”的处理本来就是君子协定。说到底代码页也不是巨硬发明的。 |
89
neptuno 2022-10-16 10:06:10 +08:00 via iPhone 1
中国公司就写中文,有些同事写的那个蹩脚英文。。。还不如中文
|
90
MEIerer 2022-10-16 10:06:52 +08:00
同事只会英文,那就写英文,是国人,那就中文咯
|
91
tohuer00 2022-10-16 11:19:57 +08:00
除非你们团队都是能英文无障碍交流的水平,不然就是舍本逐末了。
中文因为误操作变成了乱码还能从版本控制工具里面找回历史记录,看不懂的蹩脚英文就真的永远没人能看懂了。 |
92
dog82 2022-10-16 11:50:26 +08:00
不明白中文注释为什么会乱码,好像锟斤拷这三个字好久没遇到了。
如果在外企,遵守人家的规范。国内企业不让写中文就装 B 过头了 |
93
cy18 2022-10-16 23:47:16 +08:00
编码问题不止 IDE 跟编辑器,你试试在 bash 里面 git log ,git diff 一下?
注释用中文,那变量、函数名用英文单词还是拼音?如果用拼音的,当我没说;如果用英文单词,有时候注释里的中文跟变量、函数名的不太好准确对应起来,反而看着难受。而且用英文注释用习惯了,更容易起好变量、函数名。 |
94
Bingchunmoli 2022-10-17 01:57:46 +08:00 via Android
没写过英文,因为英文需要我写中文然后百度翻译,质量不如不懈
|
95
MrSheng 2022-10-17 10:05:40 +08:00
不明白为何中文会导致乱码,建议你司先解决编码问题。
那些 使用不支持中文编码的终端的、直接在服务器上调试代码的 “大神” 应该拉出去打死。 |
96
yuruizhe 2022-10-17 13:04:28 +08:00 via iPhone
@shijingshijing 为啥会这样…注释还会影响代码的执行?不会注释里有代码、然后直接 exec 字符串吧…
|
98
shijingshijing 2022-10-17 13:52:34 +08:00
@yuruizhe 那个测试工具可以用 VBS 和 Py 两种脚本,反正都不支持中文,可能是自己造了某种预编译的轮子吧,或者还有其他自动检查工具,反正是过不了,直接退出。
|
99
unco020511 2022-10-17 15:36:59 +08:00
原则:注释要团队内大部分人能看懂. 反正我们团队是中文注释
|