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

使用驼峰命名法时如果专有名词本身有大写需要保留吗?

  •  
  •   rv54ntjwfm3ug8 · 2022-02-27 18:49:21 +08:00 · 3726 次点击
    这是一个创建于 1002 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了下 JB 全家桶的默认项目目录 PycharmProjects PhpstormProjects 专有名词本身的大写似乎被忽略了

    DataGripProjects 却又保留了专有名词的大写(产品名是 DataGrip ,中间没有空格,和 PyCharm PhpStorm 性质应该一样)

    所以使用驼峰命名法时如果专有名词本身有大小需要保留吗?

    19 条回复    2022-03-02 18:44:22 +08:00
    duke807
        1
    duke807  
       2022-02-27 18:54:02 +08:00
    驼峰命名法能逼死強迫症
    agagega
        2
    agagega  
       2022-02-27 19:19:43 +08:00 via iPhone
    用缩写就没有这个烦恼,比如 PS 、IJ 、CL
    Cielsky
        3
    Cielsky  
       2022-02-27 20:34:54 +08:00 via Android   ❤️ 1
    kingcanfish
        4
    kingcanfish  
       2022-02-27 20:39:57 +08:00
    要啊 比如 UseHTTP UseIP
    error101
        5
    error101  
       2022-02-27 20:49:55 +08:00
    我这是严格控制缩写。。。
    wonderfulcxm
        6
    wonderfulcxm  
       2022-02-27 20:52:08 +08:00 via iPhone
    我会保留
    wheeler
        7
    wheeler  
       2022-02-27 20:59:48 +08:00 via iPhone
    Golang 标准库感觉保留的挺多的:MarshalJSON
    FrankHB
        8
    FrankHB  
       2022-02-27 21:15:54 +08:00
    我的习惯是要,理由是缩略词用完整形式替换,该大小写的地方都不会变,有一致性。
    不过这可能会导致和其它前缀混起来不容易看清,比如.NET 的 I 接口前缀……于是微软之类似乎都不鸟这个。
    Ackvincent
        9
    Ackvincent  
       2022-02-27 21:21:35 +08:00
    同意楼上 要么用完整性是替换,要么就保留。
    thinkershare
        10
    thinkershare  
       2022-02-27 21:34:31 +08:00
    .NET 中一般按照微软的指南处理,HTTP--> Http, XML--> Xml, JSON-> Json IO--> IO, 2 个字符的缩写保留全部大写, 三个及其以上按照一个单词处理。 除非一个缩写被广泛接受, 否则不缩写。ID 总是写为 Id , 因为 ID 并不是 2 个单词的缩写
    DOLLOR
        11
    DOLLOR  
       2022-02-27 22:09:36 +08:00   ❤️ 10
    我也好奇,到底应该是 getIOSVersion ,还是 getIosVersion ,还是 getiOSVersion ?
    shoujiaxin
        12
    shoujiaxin  
       2022-02-27 22:21:49 +08:00   ❤️ 1
    Google 的 C++ Style Guide 里建议是中间不需要空格分开的都算作一个“单词”,所以只有首字母大写。但是像 Apple 的 OC 和 Swift 风格专有名词或者缩写是全部大写。所以我理解重点不是大写还是小写,重点在于项目里风格统一
    https://google.github.io/styleguide/cppguide.html#General_Naming_Rules
    eason1874
        13
    eason1874  
       2022-02-27 22:32:16 +08:00
    驼峰是把空格去掉,然后空格后的第一个字母大写,其他不变
    hallDrawnel
        14
    hallDrawnel  
       2022-02-27 23:18:40 +08:00
    我的看法是专有名词保留,其他驼峰。自然语言优先级最高。比如楼上的 iOS 的,就该是 getiOSVersion 。然后对于 go 这种需要大写暴露的就妥协一下 IOS ,然后注释里写一下是 iOS ,原本需要大写的 IP 但不想暴露的那就统一写成 ip
    villivateur
        15
    villivateur  
       2022-02-28 09:27:50 +08:00 via Android
    我会把大写变小写,比如 EnableFpga
    FrankHB
        16
    FrankHB  
       2022-02-28 13:28:16 +08:00
    @hallDrawnel iOS 这里比较尬的是本来正确性就依赖大小写敏感。IOS 是思科的网络操作系统,最近还在维护,年纪应该比这里大多数人还大……
    maojun
        17
    maojun  
       2022-02-28 16:26:21 +08:00
    我觉得 snake case 跟 camel case 保持一致比较舒服,比如 http_url 对应 HttpUrl 。如果写成 HTTPUrl 的话那换回去就是 h_t_t_p_url 了,所以我不这么写。当然有规定的话还是按规定来。

    https://stackoverflow.com/questions/15526107/acronyms-in-camelcase
    XXWHCA
        18
    XXWHCA  
       2022-02-28 16:43:48 +08:00
    怎么说呢,看心情吧
    xuyang2
        19
    xuyang2  
       2022-03-02 18:44:22 +08:00
    XMLHTTPRequestURL
    XMLHTTPURL

    就问你看着晕不晕
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:36 · PVG 18:36 · LAX 02:36 · JFK 05:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.