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

github 项目名格式疑惑:为什么很少见到有用下划线_分隔的项目名的?

  •  
  •   revalue · 2021-02-08 09:46:23 +08:00 · 6437 次点击
    这是一个创建于 1145 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如'django-rest-framework'、'awesome-cheatsheets'类似的,基本都是使用横杠和驼峰的,加起来占到 90%以上。
    25 条回复    2021-02-09 13:16:47 +08:00
    revalue
        1
    revalue  
    OP
       2021-02-08 09:49:49 +08:00
    没为什么,习惯问题?
    qW7bo2FbzbC0
        2
    qW7bo2FbzbC0  
       2021-02-08 09:50:49 +08:00
    为啥 snake_case 很少呢
    huaxianyan
        3
    huaxianyan  
       2021-02-08 09:53:13 +08:00
    要多按个 Shift 才能键入?
    ericls
        4
    ericls  
       2021-02-08 09:54:04 +08:00
    It looks more balanced
    snachx
        5
    snachx  
       2021-02-08 09:56:38 +08:00   ❤️ 4
    项目名不直接用在代码里面反而往往出现在链接里面,链接不区分大小写,并且链接因为历史原因往往本身会显示下划线,所以最多的项目名就是小写单词连字符分隔

    当然可能最重要的原因是下划线需要按两个键
    yqsas
        6
    yqsas  
       2021-02-08 09:58:38 +08:00   ❤️ 14
    从 SEO 角度看,大多数搜索引擎会将 _ 连接的单词作为一个单词,使用 - 有利于分词。

    从编程角度看,大多数 IDE 会将 - 连接的单词视为多个单词的组合,选中的时候容易选只需要的部分。
    但是对我们常见的变量来说,_ 连接的单词被视为一个整体,可直接选中完整变量名,所以变量名大多数又是 _ 连接。
    InternetExplorer
        7
    InternetExplorer  
       2021-02-08 09:58:46 +08:00   ❤️ 26


    因为会和链接的下划线样式叠在一起
    lizhenda
        8
    lizhenda  
       2021-02-08 10:12:32 +08:00
    @InternetExplorer 确实,这才是最大原因
    cdh1075
        9
    cdh1075  
       2021-02-08 10:44:31 +08:00   ❤️ 1
    对内的东西遵循程序员的规则,用____
    对外的东西遵循一般文学规则,用------
    项目标题是对外的
    MiracleShadow
        10
    MiracleShadow  
       2021-02-08 10:54:54 +08:00
    空格会被自动替换为 -
    NerverLibis
        11
    NerverLibis  
       2021-02-08 11:02:52 +08:00
    因为微信小程序技术差,不支持下划线域名啊……
    ccyu220
        12
    ccyu220  
       2021-02-08 11:10:24 +08:00
    @NerverLibis 答非所问
    widewing
        13
    widewing  
       2021-02-08 12:16:49 +08:00 via Android
    URL 用-是主流,可能是因为 hostname 里用下划线是不规范用法的原因
    baobao1270
        14
    baobao1270  
       2021-02-08 12:36:54 +08:00
    因为 GitHub 推荐使用全小写字母+中横线的项目命名格式,这也是 Unix 推荐的文件命名格式。

    但是 GitHub 并不限制你用 com.example.app Microsoft.AspNetCore example_name 这样的格式命名
    consul
        15
    consul  
       2021-02-08 12:41:35 +08:00
    @InternetExplorer 正解, 在 url 里下划线不易被识别。
    Akagi201
        16
    Akagi201  
       2021-02-08 13:13:35 +08:00
    linux 规范里面, - 用来分割目录名中单词, _ 用于分割文件名中单词
    kaedea
        17
    kaedea  
       2021-02-08 13:26:47 +08:00 via Android
    因为这个名字会关联到 url 里。
    nuistzhou
        18
    nuistzhou  
       2021-02-08 13:43:30 +08:00 via iPhone
    Dashes are preferred for a couple of reasons.

    They are visible when an underlined hyperlink is rendered on the screen - underscores get covered by the underline.
    Some search engines do not recognize underscores and will drop pages that contain them. Other search engines may actually downgrade your page ranking when underscores are used.
    lc7029
        19
    lc7029  
       2021-02-08 13:43:56 +08:00
    没为啥,就和汉字变量名一样,愿意用啥都行
    codingguy
        20
    codingguy  
       2021-02-08 14:12:00 +08:00   ❤️ 1
    @InternetExplorer IE,你这次的响应还挺快
    InternetExplorer
        21
    InternetExplorer  
       2021-02-08 17:09:29 +08:00 via iPhone
    @codingguy 毕竟链接不用下划线也是 IE 时代的老传统的🧐
    hsheng
        22
    hsheng  
       2021-02-08 22:10:44 +08:00 via Android   ❤️ 1
    Android 源码的 git 仓库有很多_,用来表示文件夹,层级,文件夹名称本身用-
    例如 github.com/LineageOS/android_packages_apps_Settings
    表示存放于 android/packages/apps/Settings 文件夹
    github.com/LineageOS/android_device_xiaomi_msm8998-common
    表示存放于 android/device/xiaomi/msm8998-common 文件夹
    revalue
        23
    revalue  
    OP
       2021-02-08 22:17:10 +08:00
    @hsheng 谷歌家的开发体系 没了解太多,不是很清楚
    sunbreak
        24
    sunbreak  
       2021-02-09 12:08:14 +08:00 via iPhone
    楼主没做过 Flutter,做了就不会这么问了

    Dart 的包名默认都是下划线
    xionger
        25
    xionger  
       2021-02-09 13:16:47 +08:00
    @InternetExplorer 老哥所言极是, 敏感度高的前端一般能想到到这个问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2821 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:33 · PVG 21:33 · LAX 06:33 · JFK 09:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.