V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sonders
V2EX  ›  问与答

如果写 JS 用中文命名变量

  •  
  •   sonders · 2022-09-06 11:28:06 +08:00 · 1702 次点击
    这是一个创建于 570 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设在写业务时,大家都用中文命名变量,会怎么样?有什么问题?

    19 条回复    2022-09-10 09:47:49 +08:00
    Leviathann
        1
    Leviathann  
       2022-09-06 11:32:12 +08:00
    切输入法很烦
    尤其是 vim mode 下
    sonders
        2
    sonders  
    OP
       2022-09-06 11:36:12 +08:00 via Android
    @Leviathann 哈哈,确实。不过大家用这个共识来写代码,想想还挺有意思
    wdssmq
        3
    wdssmq  
       2022-09-06 12:09:40 +08:00
    关键词命令设置成为输入法短语好像也能破?

    @Leviathann aText 还支持自动插光标,开输入法也能触发。
    Vegetable
        4
    Vegetable  
       2022-09-06 12:17:46 +08:00
    用 const 结果在 github 搜了一下,找到这个仓库,你可以去品一品

    https://github.com/tpl-ol/nsh/blob/main/src/b/t.ts
    akira
        5
    akira  
       2022-09-06 12:18:48 +08:00
    很讨厌来回来回切换输入法
    sonders
        6
    sonders  
    OP
       2022-09-06 13:10:50 +08:00
    @Vegetable 竟然看不习惯,那个函数名“是 node”就太别扭了
    v135ex
        7
    v135ex  
       2022-09-06 14:59:08 +08:00   ❤️ 1
    会让你的同事觉得你很 low
    dcsuibian
        8
    dcsuibian  
       2022-09-06 15:02:22 +08:00
    如果英文名实在很难表达,我感觉是可以的,比如要创建的变量又多又杂。
    关键点是中文变量名的收益
    eason1874
        9
    eason1874  
       2022-09-06 15:30:22 +08:00
    一想到要频繁切换输入法我就开始烦躁了。。。我这 Windows 10 切换中文输入法有时候会失败,要切换 tab 再切回来才能正常切换
    ipwx
        10
    ipwx  
       2022-09-06 15:32:53 +08:00
    如果是 “入党介绍人” 这种字段我觉得用中文变量毫无关系。

    但是“价格”这种用 price 打起来和读起来不都更舒服么。
    ipwx
        11
    ipwx  
       2022-09-06 15:36:44 +08:00   ❤️ 1
    就比如上面有人提到的例子 https://github.com/tpl-ol/nsh/blob/main/src/b/t.ts

    感受一下:

    命令行参数 <=> args
    初始化交互控制器 <=> initController
    winglight2016
        12
    winglight2016  
       2022-09-06 16:37:09 +08:00   ❤️ 1
    @Vegetable 这代码,我居然要先翻成英文才能看懂

    改变惯例这种事情,基本上属于白费力气
    bcql
        13
    bcql  
       2022-09-06 19:11:18 +08:00   ❤️ 1
    会识别出来很 low 的同事:看他觉不觉得你 low 就知道了
    aoeui
        14
    aoeui  
       2022-09-06 19:49:14 +08:00 via Android   ❤️ 1
    中文至少比胡乱翻译的英语好,也比全拼好,比拼音首字母更不必说了(看到拼音首字母的代码真的想哭 😭)。

    在自己无法准确翻译为英文的情况下,我会用中文,如果语言不支持 Unicode 变量名,只能用全拼。

    所以优先级: 英文(准确翻译)>> 中文 >> 中文全拼
    ragnaroks
        15
    ragnaroks  
       2022-09-06 21:55:06 +08:00   ❤️ 1
    有的时候我会选择将变量或者方法以中文( utf16 )命名,比如
    ```csharp
    public (List<String> 操作失败的网卡名称列表,List<String> 操作成功的网卡名称列表) 遍历网卡并通过 ping 的方式检测无效 ipv6 并尝试重新获取地址 ();
    ```
    lululau
        16
    lululau  
       2022-09-06 22:08:21 +08:00
    用中文没毛病,但是用汉字就是你的不对了,可以用拼音啊,拼音也算中文吧

    const jieguo = 1
    fiveStarLaoliang
        17
    fiveStarLaoliang  
       2022-09-07 17:43:33 +08:00
    相比拼音,中文也不是那么难接收了,主要是看惯了英文,看到中文脑子换不过来
    param
        18
    param  
       2022-09-09 02:08:45 +08:00 via Android
    @Leviathann 相反,vim 有插件,切换就很方便
    nexo
        19
    nexo  
       2022-09-10 09:47:49 +08:00 via Android
    @lululau 这种是最难受的 拼音重合度很高 中文谐音多得要死
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2859 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:40 · PVG 19:40 · LAX 04:40 · JFK 07:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.