首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  职场话题

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

  •  
  •   aLIEz09 · 37 天前 · 9897 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  37 天前
    本人做安卓 APP 开发,拼音都是小问题,个人习惯。主要是代码里面中文(不是注释),后面要修改几百个文件里面中文问题。
    第 2 条附言  ·  37 天前
    本人做安卓 APP 开发,拼音都是小问题,个人习惯。主要是代码里面中文(不是注释),后面要修改几百个文件里面中文问题。
    137 回复  |  直到 2019-07-20 01:41:52 +08:00
    1  2  
        101
    xuanwu   37 天前   ♥ 1
    技术允许的话,标识符命名直接用中文,可读性比拼音好很多。
        102
    xuanwu   37 天前
    技术允许的话直接用中文命名标识符,可读性比拼音好很多。
        103
    xuanwu   37 天前
    @564425833 中文术语直接用于命名很合理
        104
    seraphv3   37 天前   ♥ 1
    我以前做一个电力设计工作流的系统,里面有一些“变电”,“线路”,“变电一次”,“技经”之类的专业词汇,写测试代码的时候我就直接中文英文混合变量名了
        105
    watcher   37 天前   ♥ 1
    以后统一二进制命名 终结问题
        106
    jzphx   37 天前
    入乡随俗
        107
    fan123199   37 天前
    硬编码关系不大。如果你的应用只针对中文用户的话。 Android studio 会报 warning,那是因为他有国际思维,以为你的应用是给世界各地用的。 命名用拼音就很难受了,经常对应不起来。
        108
    zidian9   37 天前
    code review 坚决不通过
        109
    xuanbg   37 天前
    遇上这样的同事,当然要配合一下用中文做变量名咯。。。。
        110
    hydyy   37 天前
    @zidian9 大多数公司貌似没有 code review
        111
    fan123199   37 天前
    当然这个是要定一个规范出来。不然谁都不服谁。
        112
    aLIEz09   37 天前 via Android
    @fan123199 那为啥技术 leader 还要我把代码里的中文改掉呢
        113
    jzmws   37 天前
    @seraphv3 原来是的坑
        114
    passerbytiny   37 天前   ♥ 3
    @aLIEz09 我开始还以为是用中文命名变量,原来是直接使用用了中文的 string literal 来定义变量,而没有使用常量或外部资源文件。

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

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

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

    最后,拼音命名罪不可赦。拼音命名已经不是规范问题了,而是规则问题了——拼音并不能完整地表达它所代表地汉字。
        115
    fan123199   37 天前
    @passerbytiny #114 很赞同。再比如某个 activity 的标题是“认证”,如果写在 string s.xml 中,搜索到定位要两步,如果直接在代码里,一次搜索可达。
        116
    passerbytiny   37 天前   ♥ 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   37 天前
    除非你能压他一头,一般老公司提交代码连个提交信息都没有。
        118
    aLIEz09   37 天前 via Android
    @passerbytiny 我只是举个简单的例子,实际情况复杂点,公司项目国不国际化我不知道,但是第一周上班就改了上百文件中的中文,还有就是代码的编码格式一旦有问题,提交的时候,用比较工具很难受。
        119
    aLIEz09   37 天前 via Android
    @wolfie 你别说,这位公司老同事还真是,提交没信息,一次完整的修改可以分次提交,你想要回滚到某一版本编译通过,有很大几率报错。
        120
    xuanwu   37 天前
    @aLIEz09 #118 是什么编码格式问题呢?
        121
    sanjusss   37 天前   ♥ 1
    @xuanwu 有的 ide 默认保存编码是 utf8,有的是当前系统编码( GBK )。涉及到直接在代码写中文的,一般默认为 utf8,其他格式要在代码规范或者项目说明中写明
        122
    XiaoWangZhanzz   37 天前   ♥ 1
    拼音的可读性还没有中文高呢
        123
    wangxiaoaer   37 天前
    @564425833 #98

    "各粒级质量损失百分率"
    QualityLossPercentPerLevel

    "标准稠度用水量"
    StandardConsistencyWaterConsumption

    但是我选择拼音首字母,这种项目 的 拼音字段中文注释一定一定一定不能少,否则后面你会忘记的。
        124
    mangoDB   37 天前
    借楼吐槽一下:要善用 git commit --amend。
        125
    rockyou12   37 天前
    好多 ls 的估计没做个安卓开发,其实和 java 有些不一样的,特别是编译这块不是 javac 就完了,所以真的要在代码中有中文,不然混淆或者编译很可能有稀奇古怪的问题。
        126
    judeng   37 天前
    你要反思,你为啥会和这种人做同事:)
        127
    xuanwu   37 天前
    @sanjusss 嗯。我一般都用 utf8
        128
    ikkknlm   37 天前
    代码中有中文也不算很奇怪,特别是安卓开发.
        129
    xulolololololo   37 天前
    那这可能是高中或者初中毕业的,然后花钱买了个假学位?
        130
    Cyrus567   37 天前
    setText("用户")
    这样写也没什么问题,如果没有国际版的话
        131
    aLIEz09   37 天前 via Android
    @judeng 面试的时候也没办法知道以前同事的代码水平吧
        132
    cabing   37 天前
    @saintatgod 比 phone 精细度。
        133
    tanrunhao   37 天前 via Android
    代码中文最大问题应该只是输入法切换的效率问题。
        134
    bccoder   37 天前 via Android
    我现在公司前辈们写的代码命名就是拼音缩写,基本没有可读性
        135
    zartouch   36 天前   ♥ 1
    成年人是很难改变的。还是改变自己吧。努力提升然后去好的公司
        136
    20015jjw   36 天前
    换公司就行啦
        137
    xuanwu   36 天前 via iPhone
    @tanrunhao 输入法设置“中文输入下使用英文标点”
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2201 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 14:47 · PVG 22:47 · LAX 07:47 · JFK 10:47
    ♥ Do have faith in what you're doing.