1
chanchan 2019-07-19 09:04:15 +08:00 2
贴个图,我想看 /doge
|
2
rawidn 2019-07-19 09:04:31 +08:00 via Android
要么忍,要么~
|
3
15651980765 2019-07-19 09:06:05 +08:00
只要不让你维护他的代码就好了,现在都是一人一个模块,关系不大。
我们代码里 flag 写成 falg,button 写成 botton 诸如此类的数不胜数,以前我还说下,现在都懒得说的。没必要拿自己的标准去要求别人,管好自己就行了。除非他危机到你的利益了。 |
4
dovme 2019-07-19 09:08:56 +08:00 via Android 8
我就服我的同事 let falg= aaa==='bbbb'? true: false
|
5
Lykos 2019-07-19 09:09:01 +08:00 13
只是拼音还算好的了,我们这拼音还带大舌头,有的拼音你看到了,还要根据上下文捋一下
|
6
aLIEz09 OP @15651980765 svn 管理代码,和他开发同一个应用,命名拼写错误还能接受,主要是拼音还有代码中文,我前期按照领导要求把里面中文都替换了,但是后面新功能两个人开发的时候,我看了下他的代码,里面又一大堆中文。。。。
|
7
merlin9527 2019-07-19 09:10:12 +08:00
我公司之前有个同事写的代码是 中英混搭的
|
9
v2hh 2019-07-19 09:10:36 +08:00
我就服我同事 if(flag==false){}
|
11
TimPeake 2019-07-19 09:12:20 +08:00
应该是前端吧
|
12
15651980765 2019-07-19 09:16:12 +08:00
|
15
secsilm 2019-07-19 09:17:55 +08:00 via Android
有时候变量名不好取直接写拼音我能理解,但是楼主说的中文是直接用中文作为变量名?
|
17
Dogergo 2019-07-19 09:19:47 +08:00
注释不让写中文么?那注释有什么意义,注释是为了让人更快的了解这段代码。强制英文除了看起来有 B 格一些,还有什么意义么
|
18
wc951 2019-07-19 09:19:50 +08:00 via Android
代码写中文什么意思,指的是注释,异常信息,日志这些?
|
19
sevenstone 2019-07-19 09:21:10 +08:00 via Android
@lixuedong 应该不是说注释,注释写中文还改什么…手动狗头 : )
|
20
hyy1995 2019-07-19 09:21:16 +08:00
中文是指注释?注释的话没毛病。至于拼音那就没得洗了,无法想象用拼音的队友。。。
|
21
aLIEz09 OP @secsilm 不是,我是做 Android 的,里面字符串资源一般都会写到一个单独的 xml 文件,尤其中文硬编码在代码里是非常不靠谱的。
|
22
tt67wq 2019-07-19 09:21:49 +08:00
不知道为啥,我对接了好多家查违章的 API,无一例外,返回结果都是拼音首字母
|
23
Muninn 2019-07-19 09:22:01 +08:00
注释写中文没毛病
变量命名就需要你们搞个规范了,可以给出那个命名翻译查询工具呀。 不然他自己翻译的有时候比中文还看不懂啊。 有时候专业领域还真挺适合拼音的。英文可能要 20 多个字节,中文双拼不超过 10 个字节哈哈。 |
24
maddot 2019-07-19 09:22:39 +08:00
注释写中文很好
那些中式英文写的人费劲,看的人难受 |
25
wjh3936 2019-07-19 09:23:26 +08:00
拼音算什么,拼音+英语单词然后混合首字母缩写才叫可怕
|
26
noe132 2019-07-19 09:25:01 +08:00 1
二五五随机数=function(){
return 数学.floor(数学.random()*25)+225 } |
27
dovme 2019-07-19 09:26:34 +08:00 via Android 9
更可怕的是明明不会英语,非要用翻译翻译出来一个,意思根本就不对的命名出来,你问他这个命名是什么鬼的时候,他还说你英语真垃圾,举例:手机->手 hand 机 machine 于是手机的英语就是 handmachine
|
28
5200 2019-07-19 09:27:19 +08:00 3
给他安利一个这个? https://unbug.github.io/codelf/
|
31
aLIEz09 OP @lixuedong 是代码,不是注释,举个例子 xingming.setText(“张三”)
|
32
expkzb 2019-07-19 09:30:45 +08:00
我最近看到的比较好的中文在代码中的应用。
let 哈哈 = “(^_^)” |
34
ChenKevin 2019-07-19 09:33:31 +08:00 5
@v2hh 我经常这么干
if (flag == false) 而不是 if(!flag) 我刚搜索了下代码,好多处是这么写的。 因为很多表达式直接写!和&&放在一起很绕,经常搞晕了, 所以我就简单这么写,虽然多打了几个字符。 |
36
berumotto 2019-07-19 09:34:33 +08:00 4
V 站有一个三天两头推广中文编程的老哥,让他把你同事带走吧
|
37
TobiahShaw 2019-07-19 09:35:25 +08:00
@aLIEz09 #21
1、写到资源文件很好,但是一旦碰到不靠谱的设计和产品(没有规范,例如色板、标题样式、正文样式,文案规范)的,几乎每个颜色,字号,文案都是不可复用的,就是 determine 都有“确定”、“确认”等几种。。。会导致资源文件文本量巨大。如果一旦强行复用,设计或者文案要求改一个地方,会导致整个项目里的全部变掉,除非时间比较充裕,有国际化需求,复用需求比较明确,有些只用到一次的,在字符串中写也是可以的。不然在不太靠谱的情况下维护成本比较高。 2、但是命名大量拼音就是比较严重的问题了,别人看不懂的话,维护成本会比较高,而且会看的人很烦躁。 3、你举的例子 xingming.setText(“张三”)中张三看起来更像是硬编码的情况。大部分数据应该来自服务端,本地的字符串应该都是模板性质或者页面标题。 |
38
ourzhang 2019-07-19 09:42:01 +08:00 1
日本人写代码用日文命名。中国人写代码不能用拼音,必须用英文。
如果你们公司或者项目没有限制的话建议你别管。我不认为项目复杂到用拼音命名会让你看不懂代码。 |
39
fenglangjuxu 2019-07-19 09:47:25 +08:00
@v2hh 最开始我也挺好奇 居然这么写 不过别人说了之后 我觉得这样挺好的 看起来很简单明了 所以我也这么写了 这不算什么奇葩吧
|
41
Vegetable 2019-07-19 09:47:41 +08:00
@tt67wq #22 哈哈哈哈你知道为什么吗?因为车管所用的是拼音,他们没转罢了。这个我也无力吐槽了,车管所相关的所有查询都是速度慢,问题多,拼音首字母当变量名。
|
42
ershierdu 2019-07-19 09:48:44 +08:00 1
@ChenKevin
+1 我觉得 == false 这种表达更直接,符合直觉 用 '!' 一方面比较容易看漏了(特别是比较长的表达式), 另一方面有点像“通过说明 a 取反后是 true,来表示 a 是 false ”,有点绕 |
43
chenqh 2019-07-19 09:50:50 +08:00
@ershierdu 肯定是==false 好吧,像 python 里面 None,0, false 的 boolean 都是 false,容易出问题
|
44
learnshare 2019-07-19 09:53:17 +08:00
习惯就好,水平不一才正常
|
45
TobiahShaw 2019-07-19 09:58:59 +08:00
@TobiahShaw #37
如果是 1 这种情况: 1、工作空闲的时候先找设计制定规范,选取 3 到 5 个常用颜色,10 到 20 个会用到的颜色,给颜色命名,然后发布出来,以后出的设计图上则不得出现色值(包含但不限于 RGB ),只能出现颜色的名字。 2、制定标题样式,正文样式,同上。 3、找产品或者负责文案的同学,制定文案规范,比如说确定全部用确定表示,不会出现确定、确认等等,模板类的“返现%f.2 元”,非特殊情况(视觉需求)不要出现别的 |
46
finaldusk 2019-07-19 10:00:57 +08:00
遇到一些很难翻译的 或者翻译后团队其他人看不懂的变量时用过中文变量名 不过变量名全中文的话影响编写速度 于是采用了一直折中的方式 变量名使用 拼音简写前缀+中文全称 命名 这样使用变量时打出来简拼由 IDE 联想一下就行了,当然 是很小的项目(公司做,5W 块)
|
47
soupu626 2019-07-19 10:01:57 +08:00
我司各种变量名,模块名都是拼音首字母缩写,专门有个对应表
简单感受下 GYLGL CGXY |
48
finaldusk 2019-07-19 10:02:25 +08:00
补上一条,当时整个项目都是使用这种规则命名的变量 而不是混合其他规则命名的 因为这个项目里有太多的名称难以翻译为英文了
|
49
redbuck 2019-07-19 10:02:45 +08:00
还见过
if(flag) { // do something return } else { // do something return } 该方法无返回,目测只是想退出 |
51
whypool 2019-07-19 10:08:52 +08:00
review 拉出来,喊他自己讲思路
|
52
yuuko 2019-07-19 10:09:17 +08:00 via Android 1
楼上这个 if(falg === false) 不是很好的写法么?明确告诉你只有 false 的时候才执行,其他 0 undefined 都不是正确条件
|
53
wangxiaoaer 2019-07-19 10:11:22 +08:00
我来浇冷水了,不要提起代码用拼音就开始拔刀。
很多业务系统,涉及到各种中文指标的,尤其是一些冷门专业的,如果全部用英文标识,没几个读得懂,拼音这个时候的优势就出来了。 |
54
virus94 2019-07-19 10:14:33 +08:00
@15651980765 赞同 自己的垃圾代码自己维护去吧
|
55
AlexMeng 2019-07-19 10:19:23 +08:00
不太明白为什么都在吐槽拼音作为变量名??总比无意义的 abcdefg 好多了吧?有的人的英语水平写英语更看不懂,还要莫名其妙的英语缩写,看着更麻烦
|
57
HolmLoh 2019-07-19 10:22:34 +08:00
@v2hh
+1,之前维护一个同事的旧项目 : if(flag==true) {} if(kong==true){} int y int a int aaa 每个方法下面都会有巨大的 if,一个类下面也只有一个几百行的方法,还有一个 3000 行的 sql 类 |
59
remarrexxar 2019-07-19 10:28:29 +08:00
经常看到这么写的
if(xxxxxxx){ return false; } else{ return true; } |
60
HenryW 2019-07-19 10:30:07 +08:00
现在在维护一个旧项目... 回调方法里 switch case 嵌套 switch case,每一个 case 都是纯数字,我特么看代码都是全局搜索,这酸爽....
|
61
qiaobeier 2019-07-19 10:31:59 +08:00 1
@15651980765 这不是很正常,我还会写成这样呢 if (typeof flag === 'boolean' && flag === false) { //do something}
是不是超长超难受啊? |
62
zr8657 2019-07-19 10:32:41 +08:00
来猜猜“ chaxunwin ”是什么意思,我本来还在想查询冠军是什么鬼,问了下是查询窗口。
|
63
sumika 2019-07-19 10:33:57 +08:00
拼音都好多了, 好歹能看懂, 我之前有个号称 10 年经验的同事总是以自定义缩写作为变量名
|
64
babedoll 2019-07-19 10:36:04 +08:00
见过拼音英文混搭而且英文单词拼错的吗 =。=
|
65
wr410 2019-07-19 10:41:20 +08:00
你们 if(Boolean)的变量名是 flag 是认真的吗?
我一般都用 isXXX 或者 hasXXX,这样一目了然。 |
66
wjbeta 2019-07-19 10:43:29 +08:00
如果是拼写正确的拼音那也还好,能看明白就行。最怕是莫名其妙的缩写和逐字翻译的英文。
|
67
Fiona7heHuman 2019-07-19 10:46:18 +08:00
@dovme 我看了半天才知道他要干啥
|
68
sandglass 2019-07-19 10:47:18 +08:00
大佬们注释也用英文吗
|
69
visonme 2019-07-19 10:48:35 +08:00
拼音只要规范,别人能理解,不是不能接受,有些变量或者函数名还真的用英文不好命(当然也有可能是个人词汇量有限的问题)。
至于代码中写中文,这是什么鬼? NET 吗? 也没这玩的哈,如果是注释,那应该能接受哈,尤其非外资 /合资企业,注释都需要英文化太没这么必要了 |
70
moloach 2019-07-19 10:49:46 +08:00
以前看到过这种代码
if(n == 1){ doSomething(var1, var2, 1) } else{ doSomething(var1,var2,n) } 不知道是不是他们公司是按照代码行数计算 KPI 的 |
71
shifutang 2019-07-19 10:51:55 +08:00
哈哈,想起来一个被开掉的前同事, 账号积分 的变量名, 他写的是 integral
|
72
XD2333 2019-07-19 10:53:40 +08:00
拼音的话还算勉强能接受,代码中文是什么意思啊。注释吗?注释中文应该还好吧在国内的话。
|
73
iblessyou 2019-07-19 11:19:38 +08:00
@zhensjoke 哈哈 我们这也有“同行 xing 分析” 领导给我的命名,我估计就错了,一查果然被翻译成“同行 hang 分析”
|
74
yueqiuge 2019-07-19 11:25:01 +08:00
什么叫代码中文?易语言?
|
75
ysoserious 2019-07-19 11:29:44 +08:00
请教一下 a=表达式?true:false 的写法是有什么问题吗???
|
76
BALDOOR 2019-07-19 11:29:58 +08:00 via Android
拼音?懒得 diss 了~
用 idea typo 一堆波浪线看着很恶心。 业务里实在难以 /无法翻译的其实也能接受。 不带口音正确的全拼还好,首字母缩写还没注释就~ 代码支持 utf8 命名的,那位一直支持中文编程老哥是时候出来安利一下~ 幸好,我们所有规范是在项目 readme 明确规定的,code review 第一次不规范就说一下,两次三次那就~ |
77
zjsxwc 2019-07-19 11:33:38 +08:00 1
命名也用中文呗,现在语言都支持中文命名
|
78
HGladIator 2019-07-19 11:33:41 +08:00
@ysoserious #75 繁琐 等同于 a=表达式
|
79
HGladIator 2019-07-19 11:36:39 +08:00
让你同事看看耗子叔的 《如何写出无法维护的代码》
https://coolshell.cn/articles/4758.html |
80
ysoserious 2019-07-19 11:38:01 +08:00
@HGladIator #78 哦,我只关注到?:的用法没关注到结果是 true 和 false ;我还以为是 ? : 的用法有什么问题,所以不被建议在生产环境上使用。现在明白了,谢谢。
|
81
ThiagoJC 2019-07-19 11:42:37 +08:00 via iPhone
拼音还好至少能看懂,我上家公司全用拼音首字母缩写,
|
83
shm7 2019-07-19 11:49:53 +08:00 via iPhone
希哈值!
|
84
lsj8924 2019-07-19 11:50:02 +08:00 1
vs2010 以上都是支持中文命名的,我觉得只要你们内部沟通好,统一用中文,完全没毛病。
|
85
liangzai 2019-07-19 11:51:03 +08:00
有句话怎么说来着,不管白猫黑猫,抓住老鼠就是好猫
|
86
abdiweli 2019-07-19 11:52:29 +08:00
你去做个公安系统的项目就知道了,数据库设计清一色的拼音缩写,代码里也很常见!关键是有些东西你用英文没办法很好的表达出来。除非你们公司有严格直行的代码规范,代码审查之类的东西,那你也管不了人家怎么写啊。
|
87
ZehaiZhang 2019-07-19 11:52:34 +08:00
我可以接受你查谷歌翻译,翻出来乱七八糟的结果,但我忍不了拼音,要么我疯,要么他疯
|
88
mamahaha 2019-07-19 12:02:26 +08:00
都是国企老党员带出来的徒弟,时刻在防备欧美思想森透。
|
89
abdiweli 2019-07-19 12:03:22 +08:00
@Vegetable 不止车管所!几乎公安类的项目都是这样的!但这个不是问题,国家下发的很多信息化系统规范里都是这么写的。
|
92
leafre 2019-07-19 12:39:00 +08:00
确实不能忍,只能做好自己的,管不了他
|
94
saintatgod 2019-07-19 12:40:05 +08:00
@cabing 我有时候用 tel 或者 mobile 代表手机,phone 代表座机一般
|
95
yukiww233 2019-07-19 13:12:07 +08:00
原来是 hardcoding 啊。。如果一开始就明确不做 i18n 的话也没什么大问题
我还以为是中文变量名 |
96
123s 2019-07-19 13:40:56 +08:00
有这心思笑人,还不如教别人怎么写
|
97
way2create 2019-07-19 13:58:20 +08:00
我就好奇了,这楼中说===false 或者===true 是垃圾代码的是有什么问题?
|
98
564425833 2019-07-19 14:14:35 +08:00 1
"各粒级质量损失百分率"
"标准稠度用水量" "抗压抗折试验机" "箱式电阻炉" 大佬们,谁能告诉我,这些应该怎么命名 。。。 |
99
print1024 2019-07-19 14:14:49 +08:00
|
100
Doraemontree 2019-07-19 14:14:52 +08:00
我觉得挺好用的, 公司一个安卓喜欢用拼音的简称,比如桥梁吨位 == QLDWBtn,比敲英文简单。。。嘻嘻
|