
1 chanchan 2019-07-19 09:04:15 +08:00 贴个图,我想看 /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 我就服我的同事 let falg= aaa==='bbbb'? true: false |
5 Lykos 2019-07-19 09:09:01 +08:00 只是拼音还算好的了,我们这拼音还带大舌头,有的拼音你看到了,还要根据上下文捋一下 |
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 二五五随机数=function(){ return 数学.floor(数学.random()*25)+225 } |
27 dovme 2019-07-19 09:26:34 +08:00 via Android 更可怕的是明明不会英语,非要用翻译翻译出来一个,意思根本就不对的命名出来,你问他这个命名是什么鬼的时候,他还说你英语真垃圾,举例:手机->手 hand 机 machine 于是手机的英语就是 handmachine |
28 5200 2019-07-19 09:27:19 +08:00 给他安利一个这个? 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 @v2hh 我经常这么干 if (flag == false) 而不是 if(!flag) 我刚搜索了下代码,好多处是这么写的。 因为很多表达式直接写!和&&放在一起很绕,经常搞晕了, 所以我就简单这么写,虽然多打了几个字符。 |
36 berumotto 2019-07-19 09:34:33 +08:00 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 日本人写代码用日文命名。中国人写代码不能用拼音,必须用英文。 如果你们公司或者项目没有限制的话建议你别管。我不认为项目复杂到用拼音命名会让你看不懂代码。 |
39 keepfun 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:4 +08:00 @ChenKevin +1 我觉得 == false 这种表达更直接,符合直觉 用 '!' 一方面比较容易看漏了(特别是比较长的表达式), 另一方面有点像“通过说明 a 取反后是 true,来表示 a 是 false ”,有点绕 |
43 simple2025 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 楼上这个 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 @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 命名也用中文呗,现在语言都支持中文命名 |
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 vs2010 以上都是支持中文命名的,我觉得只要你们内部沟通好,统一用中文,完全没毛病。 |
85 liangzai 2019-07-19 11:51:03 +08:00 有句话怎么说来着,不管白猫黑猫,抓住老鼠就是好猫 |