101
xuanwu 2019-07-19 14:18:16 +08:00 1
技术允许的话,标识符命名直接用中文,可读性比拼音好很多。
|
102
xuanwu 2019-07-19 14:20:36 +08:00
技术允许的话直接用中文命名标识符,可读性比拼音好很多。
|
104
seraphv3 2019-07-19 14:27:30 +08:00 1
我以前做一个电力设计工作流的系统,里面有一些“变电”,“线路”,“变电一次”,“技经”之类的专业词汇,写测试代码的时候我就直接中文英文混合变量名了
|
105
watcher 2019-07-19 14:31:06 +08:00 1
以后统一二进制命名 终结问题
|
106
jzphx 2019-07-19 14:36:18 +08:00
入乡随俗
|
107
fan123199 2019-07-19 14:54:51 +08:00
硬编码关系不大。如果你的应用只针对中文用户的话。 Android studio 会报 warning,那是因为他有国际思维,以为你的应用是给世界各地用的。 命名用拼音就很难受了,经常对应不起来。
|
108
zidian9 2019-07-19 14:56:06 +08:00
code review 坚决不通过
|
109
xuanbg 2019-07-19 14:58:08 +08:00
遇上这样的同事,当然要配合一下用中文做变量名咯。。。。
|
111
fan123199 2019-07-19 14:59:02 +08:00
当然这个是要定一个规范出来。不然谁都不服谁。
|
114
passerbytiny 2019-07-19 15:18:07 +08:00 3
@aLIEz09 我开始还以为是用中文命名变量,原来是直接使用用了中文的 string literal 来定义变量,而没有使用常量或外部资源文件。
首先需要更正一点的是,你的问题是“没有将全部字符串定义放到外部资源文件中”,与中文无关,string literal 中使用中文和英文没任何区别。 然后,“字符串定义全部放到外部资源文件”在十年前是标准规范,在现在属于过度预设计。如果你的产品现在没有国际化需要(即使一年后有可能变成国际化),那么把字符串放在外部资源文件中定义,除了脱裤子放屁外,还极大的影响代码的可读性;况且在国际化过程中一次性重构的成本,要远小于你一开始就设计资源文件的成本。 就你举得这个例子来说,```xingming.setText(“张三”)```,换成 ```xingming.setText(I18n.get("exampleName.first"))``` 或者 ```Constant.EXAMPLE_NAME_FIRST```,可读性大降,并且还需要有专人去维护资源 Key 或常量名的命名规范(否则资源文件会变成不分类的垃圾桶)从而导致成本大涨,这在敏捷开发中就是灾难。 最后,拼音命名罪不可赦。拼音命名已经不是规范问题了,而是规则问题了——拼音并不能完整地表达它所代表地汉字。 |
115
fan123199 2019-07-19 15:29:08 +08:00
@passerbytiny #114 很赞同。再比如某个 activity 的标题是“认证”,如果写在 string s.xml 中,搜索到定位要两步,如果直接在代码里,一次搜索可达。
|
116
passerbytiny 2019-07-19 15:30:45 +08:00 2
@564425833 #93
"各粒级质量损失百分率" "标准稠度用水量" "抗压抗折试验机" "箱式电阻炉" ⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩ int a;//各粒级质量损失百分率 int b;//标准稠度用水量 String c;//抗压抗折试验机 String d;//箱式电阻炉 ------或者------- int 各粒级质量损失百分率; int 标准稠度用水量; String 抗压抗折试验机; String 箱式电阻炉; ------再或者------- {{{专人 /部分负责术语定义}}} int bibi; int blbl; String pipi; String pangpang; 就是别弄你自己隔断时间都没办法一眼认出来的拼音。 |
117
wolfie 2019-07-19 15:33:19 +08:00
除非你能压他一头,一般老公司提交代码连个提交信息都没有。
|
118
aLIEz09 OP @passerbytiny 我只是举个简单的例子,实际情况复杂点,公司项目国不国际化我不知道,但是第一周上班就改了上百文件中的中文,还有就是代码的编码格式一旦有问题,提交的时候,用比较工具很难受。
|
119
aLIEz09 OP @wolfie 你别说,这位公司老同事还真是,提交没信息,一次完整的修改可以分次提交,你想要回滚到某一版本编译通过,有很大几率报错。
|
121
sanjusss 2019-07-19 15:49:23 +08:00 1
@xuanwu 有的 ide 默认保存编码是 utf8,有的是当前系统编码( GBK )。涉及到直接在代码写中文的,一般默认为 utf8,其他格式要在代码规范或者项目说明中写明
|
122
XiaoWangZhanzz 2019-07-19 16:01:07 +08:00 1
拼音的可读性还没有中文高呢
|
123
wangxiaoaer 2019-07-19 16:27:08 +08:00
@564425833 #98
"各粒级质量损失百分率" QualityLossPercentPerLevel "标准稠度用水量" StandardConsistencyWaterConsumption 但是我选择拼音首字母,这种项目 的 拼音字段中文注释一定一定一定不能少,否则后面你会忘记的。 |
124
mangoDB 2019-07-19 17:01:58 +08:00
借楼吐槽一下:要善用 git commit --amend。
|
125
rockyou12 2019-07-19 17:02:42 +08:00
好多 ls 的估计没做个安卓开发,其实和 java 有些不一样的,特别是编译这块不是 javac 就完了,所以真的要在代码中有中文,不然混淆或者编译很可能有稀奇古怪的问题。
|
126
judeng 2019-07-19 17:04:06 +08:00
你要反思,你为啥会和这种人做同事:)
|
128
ikkknlm 2019-07-19 17:37:13 +08:00
代码中有中文也不算很奇怪,特别是安卓开发.
|
129
xulolololololo 2019-07-19 18:19:22 +08:00
那这可能是高中或者初中毕业的,然后花钱买了个假学位?
|
130
Cyrus567 2019-07-19 19:39:43 +08:00
setText("用户")
这样写也没什么问题,如果没有国际版的话 |
132
cabing 2019-07-19 21:18:07 +08:00
@saintatgod 比 phone 精细度。
|
133
tanrunhao 2019-07-19 21:19:31 +08:00 via Android
代码中文最大问题应该只是输入法切换的效率问题。
|
134
bccoder 2019-07-19 22:02:13 +08:00 via Android
我现在公司前辈们写的代码命名就是拼音缩写,基本没有可读性
|
135
zartouch 2019-07-19 23:33:25 +08:00 1
成年人是很难改变的。还是改变自己吧。努力提升然后去好的公司
|
136
20015jjw 2019-07-19 23:56:53 +08:00
换公司就行啦
|