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

Google 的 HTML/CSS 代码风格规范提到使用“-”作为分隔符,好处是什么?

  •  
  •   Sivan ·
    sivan · 2012-05-03 18:33:47 +08:00 · 4878 次点击
    这是一个创建于 4383 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml?showone=ID_and_class_name_delimiters#ID_and_class_name_delimiters

    使用“-”跟使用“_”比,好处都有什么?我以前经常用下划线,因为选取 class 时双击就能取到比较方便。
    26 条回复    1970-01-01 08:00:00 +08:00
    messense
        1
    messense  
       2012-05-03 18:35:27 +08:00
    个人喜欢用"-",感觉比"_"看起来舒服。
    tuoxie007
        2
    tuoxie007  
       2012-05-03 18:39:32 +08:00
    css的传统吧,比如border-radius
    Sivan
        3
    Sivan  
    OP
       2012-05-03 18:42:04 +08:00
    @tuoxie007 莫非只是因为如此,于是显得用下划线比较山寨?
    tuoxie007
        4
    tuoxie007  
       2012-05-03 18:46:37 +08:00
    @Sivan 可能吧,代码风格有没有对与错,既然要规定,总得选择一个而且一致性比较重要,反正我是这么理解的
    chenluois
        5
    chenluois  
       2012-05-03 18:46:40 +08:00   ❤️ 1
    hiwljun
        6
    hiwljun  
       2012-05-03 18:47:33 +08:00
    我也刚想问这个问题,现在只想到"-"可以不按shift。
    lianghai
        7
    lianghai  
       2012-05-03 18:51:17 +08:00   ❤️ 1
    连字符是自然语言里用到的符号,而下划线不自然。
    Sivan
        8
    Sivan  
    OP
       2012-05-03 18:52:57 +08:00
    看了 @chenluois 贴的分析,似乎下划线的缺点只是比较难看,不如“-”统一,而相较“-”优点是方便双击选中。

    Google 选择“-”仅是因为看起来更优雅?或者如 @hiwljun 说的少按下 shift?
    hzlzh
        9
    hzlzh  
       2012-05-03 19:02:23 +08:00
    我们项目的前端规范就是-,经过我的再三斟酌
    qiuai
        10
    qiuai  
       2012-05-03 19:20:19 +08:00
    -方便的路过.
    Paranoid
        11
    Paranoid  
       2012-05-03 19:24:43 +08:00   ❤️ 1
    鼠标双击的时候 aa_bb 可以直接选中, aa-bb 只能选中aa或bb
    chaos_mical
        12
    chaos_mical  
       2012-05-03 19:25:59 +08:00
    @Paranoid 这个说法不错
    nijux
        13
    nijux  
       2012-05-03 20:35:06 +08:00
    基础不好所以想借这贴问下, 是不是因为从计算机的方面来说 - 比 _ 更短
    darcy
        14
    darcy  
       2012-05-03 20:37:24 +08:00
    g-nav一目了然,不容易看成时g nav,而且g-nav无法在JS中直接做为变量名,不至于混淆,写的时候需要有意识的注意它。
    iwege
        15
    iwege  
       2012-05-04 11:25:46 +08:00   ❤️ 2
    1.css原生。
    2.区分js代码的变量名和css命名。
    Sivan
        16
    Sivan  
    OP
       2012-05-04 11:27:02 +08:00
    @iwege 谢谢,明白了。以后我也换用“-”了。
    NemoAlex
        17
    NemoAlex  
       2012-05-04 11:39:10 +08:00
    个人认为 JS 变量名用骆驼命名法比较好
    至于CSS 的 ID 和 Class 用“-”还是“_”来连接,是代码风格问题,没有优劣区别
    而“-”与“_”相比,确实有一些难以选定的麻烦,大多数编辑器认为“-”的前后是两个词

    至于有人说跟 JS 变量名区分,个人认为这不需要区分
    Sivan
        18
    Sivan  
    OP
       2012-05-04 11:44:18 +08:00
    @NemoAlex 感觉老外都比较爱用“-”,当“-”和“_”都存在时,感觉“_”看着有点山寨。而用“_”可以双击选取是个很方便的优势。
    TONYHEAD
        19
    TONYHEAD  
       2012-05-04 11:49:00 +08:00
    以前看过文章,URL的地址用"-"更符合语义,不知道是不是同一回事.
    m4ker
        20
    m4ker  
       2012-05-05 17:39:56 +08:00
    url的话,“_“在ie7下有一个session的bug,在域名和文件名中最好不要使用。
    sparanoid
        21
    sparanoid  
    MOD
       2012-05-05 18:14:12 +08:00
    好处是:

    - 下划线老浏览器不支持,不过是非常老的那种,现在不需要在意
    - 想要选中方便,可以用 myBox
    - 还有很多不需要方便双击选中的反例,例如,jQuery UI 的 ui- 前缀
    - 美观,CSS 本身使用的就是连字符,例如,font-family 而不是 font_family

    当然,这是一个非常古老的问题,很久之前看过下面这篇文章,所以我一直在用连字符:

    http://devedge-temp.mozilla.org/viewsource/2001/css-underscores/
    wzbang
        22
    wzbang  
       2012-05-05 18:15:42 +08:00
    哦,一直用"_",看来以后要改改。但貌似习惯了。
    MarshallChen
        23
    MarshallChen  
       2012-05-05 22:39:53 +08:00
    下划线‘_’真的没有这个‘-’好看 我觉得 = =
    benzhe
        24
    benzhe  
       2012-05-14 17:46:19 +08:00
    ID 用减号 ,Class 用下划线,好处貌似只体现在写 javascript 时方便判断...
    westoy
        25
    westoy  
       2012-05-14 17:53:19 +08:00
    我喜欢用下划线,就因为双击可以选中
    chuck911
        26
    chuck911  
       2012-05-14 18:04:53 +08:00
    双击全部选中是在css里面是劣势好吗
    css里面经常有分层的定义,比如
    .form-search input,.form-inline input,.form-horizontal input,
    这时候全选方便还是分开方便?

    对于css本身的规范来说,更是这样了,border-radius,border-color 双击被全选的话就麻烦死了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2396 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:41 · PVG 14:41 · LAX 23:41 · JFK 02:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.