V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuanwu
V2EX  ›  程序员

程序员面试时用中文命名写白板代码的好处

  •  
  •   xuanwu · 2019-02-08 09:15:42 +08:00 · 3869 次点击
    这是一个创建于 2107 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2019-02-08 11:35:38 +08:00

    ----------- 为避免无视原文内容, 转帖全文如下 ----------

    时不时就看到"要是我面试时看到中文命名的话就xxx"的说法. 此文从不同角度简述在白板写代码这关用中文命名的好处. 欢迎补充.

    大前提是, 大家母语都是中文, 而且面试过程主要用中文交流. 这该是大多数国内面试的状态.

    从公司角度

    • 了解面试者语文水平, 尤其是表达水平. 从中文命名中可以看出遣词造句的功底. 如前文中英文代码对比系列之Java一例
    • 可以直接选取公司真实业务相关的独立问题, 不用顾虑是否用英文表达过于复杂(尤其是公司内命名也许就不规范的情况下), 因为可以直接用中文术语讲述问题, 同时可以考验面试者的业务理解能力
    • 字如其人. 这点见仁见智. 估计会看到很多提笔忘字的情况. 在手写字越来越稀少的今天, 一手好字应该可以让一些人才免于被误刷掉

    从面试者角度

    • 代码可读性更佳, 易于看到白板时难免的细节错误. 尤其在心理紧张状态下, 代码可读性带来的好处会比平常更明显
    • 可以不用担心命名的英文拼写问题

    面试者与被面试者双方兼适用

    • 两方交流时用中文, 命名也用中文可以避免交流/思考时中英模式来回切换
    • 避免因为英文拼写错误/选词不当引起的时间浪费
    20 条回复    2019-02-10 12:07:10 +08:00
    MinQ
        1
    MinQ  
       2019-02-08 10:39:58 +08:00 via Android   ❤️ 12
    没啥好处,除了让面试官觉得你是傻逼
    xuanwu
        2
    xuanwu  
    OP
       2019-02-08 11:37:27 +08:00
    @MinQ 其实此文也是给面试官 /公司决策者看的.
    20015jjw
        3
    20015jjw  
       2019-02-08 11:42:45 +08:00
    完全没道理...
    SorcererXW
        4
    SorcererXW  
       2019-02-08 11:56:32 +08:00
    @xuanwu #2 如果我是应聘者,面试官让我用中文命名写代码,我选择不入职
    d3vil
        5
    d3vil  
       2019-02-08 12:20:47 +08:00 via iPhone
    楼主,有图吗?不然没说服力啊,在线等
    keith1126
        6
    keith1126  
       2019-02-08 12:42:03 +08:00   ❤️ 1
    白板代码从作用上来说更接近 伪代码,所以我觉得怎么写都无所谓,反正不是拿给机器执行的.

    至于用中文写,想了想,在国内,确实是挺合适的,毕竟白板代码的主要目的是沟通交流,没必要太严格.
    zingl
        7
    zingl  
       2019-02-08 13:21:45 +08:00
    u 用户名
    p 密码
    h 哈希值

    你先写着吧,我先去面另外几个脑子正常的应试者再来看你写到哪儿了
    xuanwu
        8
    xuanwu  
    OP
       2019-02-08 14:27:04 +08:00
    @d3vil 把文中例子( https://zhuanlan.zhihu.com/p/30905033 ) 的中英两个版本手写一遍自己看看即可

    @keith1126 拿给机器执行当然也是可以的. 至于语义的严谨上, 应该和英文没什么区别.

    @zingl 你的项目代码里都是这样的缩写命名吗?
    ryd994
        9
    ryd994  
       2019-02-08 15:46:15 +08:00 via Android
    中文写起来太慢,英文写个缩写,大家都懂就行
    实际开发时有编辑器补全
    MinQ
        10
    MinQ  
       2019-02-08 16:13:53 +08:00 via Android
    @xuanwu 看了例子,看到中文版的时候有种莫名的生理不适,想砍死这么写的人
    zingl
        11
    zingl  
       2019-02-08 16:33:33 +08:00
    @xuanwu 你们公司面试的时候用白板写用到几十个变量的项目代码的?
    peterpei
        12
    peterpei  
       2019-02-08 17:46:30 +08:00 via Android
    好了,还有个问题就是中英文要一直切换。。。
    hiahia
        13
    hiahia  
       2019-02-08 21:17:56 +08:00
    良好地使用英文命名可以让人知道你个人平时的命名习惯,用术语交流可以让人家知道你的英文水平,尤其是让人知道你有阅读英文文档的能力
    icyalala
        14
    icyalala  
       2019-02-08 22:50:42 +08:00   ❤️ 2
    印象中在这里看到过不少中文编程的帖子,翻了一下果然都是楼主。。。

    suyuyu
        15
    suyuyu  
       2019-02-08 23:31:09 +08:00
    楼主是做什么的 为什么这么执着啊
    SpiderXiantang
        16
    SpiderXiantang  
       2019-02-09 02:06:00 +08:00 via Android
    佩服楼主
    xuanwu
        17
    xuanwu  
    OP
       2019-02-09 12:39:26 +08:00
    @peterpei 这里指的是当面手写

    @hiahia
    > 良好地使用英文命名可以让人知道你个人平时的命名习惯

    中文命名同样可以体现命名习惯. 区别是一个体现中文水平, 一个体现英文水平. 如果平时工作交流是用中文为主, 中文表达水平的考察应该更重要.

    > 用术语交流可以让人家知道你的英文水平, 尤其是让人知道你有阅读英文文档的能力

    如果是常用英文术语, 应该在白板之外的环节就考察过了. 如果特别注重考察英文阅读水平, 而且等级证书还不够有说服力的话, 直接拿英文 API 文档让面试者读完之后用中文解释或者写个测试用例应该更有针对性吧?

    总之, 白板环节本身时间紧张, 通过中文命名可以尽量避免使用英文命名带入的额外负担.
    alphanow
        18
    alphanow  
       2019-02-09 18:56:35 +08:00 via Android
    中文写算法说明没有统一描述符号思想,也就是没有数学思想,没有接受过正规教育
    xuanwu
        19
    xuanwu  
    OP
       2019-02-10 00:42:09 +08:00   ❤️ 1
    @alphanow 符号思想? 数学思想? 别说命名了, 如果是伪代码的话整个算法(包括关键词)都可以用中文准确描述, 不能的话只能说语文不过关吧.
    zpxshl
        20
    zpxshl  
       2019-02-10 12:07:10 +08:00 via Android
    一手好字应该可以让一些人才免于被误刷掉。。。。???
    认真的吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2210 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:42 · PVG 08:42 · LAX 16:42 · JFK 19:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.