公司新人,项目组另外一个开发同事,代码中写中文,命名用拼音,请问我作为一个新来的,应该怎么跟他合作开发?

2019-07-19 09:01:51 +08:00
 aLIEz09
14175 次点击
所在节点    职场话题
137 条回复
xuanwu
2019-07-19 14:18:16 +08:00
技术允许的话,标识符命名直接用中文,可读性比拼音好很多。
xuanwu
2019-07-19 14:20:36 +08:00
技术允许的话直接用中文命名标识符,可读性比拼音好很多。
xuanwu
2019-07-19 14:27:21 +08:00
@564425833 中文术语直接用于命名很合理
seraphv3
2019-07-19 14:27:30 +08:00
我以前做一个电力设计工作流的系统,里面有一些“变电”,“线路”,“变电一次”,“技经”之类的专业词汇,写测试代码的时候我就直接中文英文混合变量名了
watcher
2019-07-19 14:31:06 +08:00
以后统一二进制命名 终结问题
jzphx
2019-07-19 14:36:18 +08:00
入乡随俗
fan123199
2019-07-19 14:54:51 +08:00
硬编码关系不大。如果你的应用只针对中文用户的话。 Android studio 会报 warning,那是因为他有国际思维,以为你的应用是给世界各地用的。 命名用拼音就很难受了,经常对应不起来。
zidian9
2019-07-19 14:56:06 +08:00
code review 坚决不通过
xuanbg
2019-07-19 14:58:08 +08:00
遇上这样的同事,当然要配合一下用中文做变量名咯。。。。
hydyy
2019-07-19 14:58:13 +08:00
@zidian9 大多数公司貌似没有 code review
fan123199
2019-07-19 14:59:02 +08:00
当然这个是要定一个规范出来。不然谁都不服谁。
aLIEz09
2019-07-19 14:59:49 +08:00
@fan123199 那为啥技术 leader 还要我把代码里的中文改掉呢
jzmws
2019-07-19 15:01:12 +08:00
@seraphv3 原来是的坑
passerbytiny
2019-07-19 15:18:07 +08:00
@aLIEz09 我开始还以为是用中文命名变量,原来是直接使用用了中文的 string literal 来定义变量,而没有使用常量或外部资源文件。

首先需要更正一点的是,你的问题是“没有将全部字符串定义放到外部资源文件中”,与中文无关,string literal 中使用中文和英文没任何区别。

然后,“字符串定义全部放到外部资源文件”在十年前是标准规范,在现在属于过度预设计。如果你的产品现在没有国际化需要(即使一年后有可能变成国际化),那么把字符串放在外部资源文件中定义,除了脱裤子放屁外,还极大的影响代码的可读性;况且在国际化过程中一次性重构的成本,要远小于你一开始就设计资源文件的成本。

就你举得这个例子来说,```xingming.setText(“张三”)```,换成 ```xingming.setText(I18n.get("exampleName.first"))``` 或者 ```Constant.EXAMPLE_NAME_FIRST```,可读性大降,并且还需要有专人去维护资源 Key 或常量名的命名规范(否则资源文件会变成不分类的垃圾桶)从而导致成本大涨,这在敏捷开发中就是灾难。

最后,拼音命名罪不可赦。拼音命名已经不是规范问题了,而是规则问题了——拼音并不能完整地表达它所代表地汉字。
fan123199
2019-07-19 15:29:08 +08:00
@passerbytiny #114 很赞同。再比如某个 activity 的标题是“认证”,如果写在 string s.xml 中,搜索到定位要两步,如果直接在代码里,一次搜索可达。
passerbytiny
2019-07-19 15:30:45 +08:00
@564425833 #93
"各粒级质量损失百分率"
"标准稠度用水量"
"抗压抗折试验机"
"箱式电阻炉"

⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩

int a;//各粒级质量损失百分率
int b;//标准稠度用水量
String c;//抗压抗折试验机
String d;//箱式电阻炉

------或者-------
int 各粒级质量损失百分率;
int 标准稠度用水量;
String 抗压抗折试验机;
String 箱式电阻炉;

------再或者-------
{{{专人 /部分负责术语定义}}}
int bibi;
int blbl;
String pipi;
String pangpang;


就是别弄你自己隔断时间都没办法一眼认出来的拼音。
wolfie
2019-07-19 15:33:19 +08:00
除非你能压他一头,一般老公司提交代码连个提交信息都没有。
aLIEz09
2019-07-19 15:35:01 +08:00
@passerbytiny 我只是举个简单的例子,实际情况复杂点,公司项目国不国际化我不知道,但是第一周上班就改了上百文件中的中文,还有就是代码的编码格式一旦有问题,提交的时候,用比较工具很难受。
aLIEz09
2019-07-19 15:38:57 +08:00
@wolfie 你别说,这位公司老同事还真是,提交没信息,一次完整的修改可以分次提交,你想要回滚到某一版本编译通过,有很大几率报错。
xuanwu
2019-07-19 15:44:36 +08:00
@aLIEz09 #118 是什么编码格式问题呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/584286

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX