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

你们代码缩进用啥?4-tab?4 spaces?2-tab?2spaces?

  •  
  •   66beta · 2014-01-24 15:03:24 +08:00 · 13725 次点击
    这是一个创建于 3716 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了几处,貌似推荐的缩进都不一样,到底哪个是比较流行、用的比较多的?
    或者大公司的大牛们,他们用的是哪个?
    第 1 条附言  ·  2014-01-24 18:07:47 +08:00
    根据PSR-2的规定,以及使用人群数量,选4Spaces
    谢谢大家的帮助!
    58 条回复    1970-01-01 08:00:00 +08:00
    pirex
        1
    pirex  
       2014-01-24 15:05:56 +08:00   ❤️ 1
    我觉得这种东西可以按照自己习惯。
    66beta
        2
    66beta  
    OP
       2014-01-24 15:09:41 +08:00
    @pirex 能跟随主流比较好吧,总觉得会别人家嫌弃

    我比较纠结的是:
    4格宽,太浪费,一行还可以多显示两个字符
    2格宽,缩进不明显,看起来太累
    shiny
        3
    shiny  
       2014-01-24 15:10:26 +08:00   ❤️ 1
    4空格,因为如果缩进层次太多说明代码有问题

    nodejs 除外 = =
    raincious
        4
    raincious  
       2014-01-24 15:10:42 +08:00   ❤️ 1
    yangff
        5
    yangff  
       2014-01-24 15:11:06 +08:00   ❤️ 1
    我是用4-tab,主要是tab不容易出错(比如经常有人用空格,然后打着打着变成3个空格了),4格的话看着舒服。
    cyr1l
        6
    cyr1l  
       2014-01-24 15:15:06 +08:00   ❤️ 1
    Webstorm 默认是啥我用啥.
    默认是四个空格.
    FrankFang128
        7
    FrankFang128  
       2014-01-24 15:16:25 +08:00 via Android   ❤️ 1
    WebStorm 4 spaces
    wwqgtxx
        8
    wwqgtxx  
       2014-01-24 15:19:09 +08:00 via Android   ❤️ 1
    入乡随俗
    java用4-tab
    python用space
    clino
        9
    clino  
       2014-01-24 15:23:40 +08:00   ❤️ 2
    代码用4空格,html这种用2空格,我觉得这样比较好
    jkeylu
        10
    jkeylu  
       2014-01-24 15:30:37 +08:00   ❤️ 1
    js, html 2-space
    other 4-space
    bombless
        11
    bombless  
       2014-01-24 15:32:02 +08:00   ❤️ 1
    html看情况,有时候我用2格空格、有时候层次比较深就统一用1格
    汇编用4空格宽的tab,其他多数都是2格空格,如果事先知道层次比较浅有时用4格宽的tab
    lleon
        12
    lleon  
       2014-01-24 15:43:27 +08:00 via Android   ❤️ 1
    用tab,方便,宽度设为4。
    Grant06
        13
    Grant06  
       2014-01-24 15:50:43 +08:00   ❤️ 1
    4 spaces。
    基本上大部分编辑器可以设置tab为4 spaces。
    所有组员都这么做,保证代码格式的规范。
    tab的话各编辑器显示的不一定一致。。。
    caizixian
        14
    caizixian  
       2014-01-24 15:57:11 +08:00   ❤️ 1
    4 Spaces
    66450146
        15
    66450146  
       2014-01-24 15:59:37 +08:00   ❤️ 1
    yolio2003
        16
    yolio2003  
       2014-01-24 16:02:33 +08:00   ❤️ 1
    @66beta 看起来你需要设置3格
    wawehi
        17
    wawehi  
       2014-01-24 16:04:38 +08:00   ❤️ 1
    python 2 spaces, lua 4 spaces
    learnshare
        18
    learnshare  
       2014-01-24 16:04:44 +08:00   ❤️ 1
    用两个/四个空格,我的观点是要看用什么字体...
    RoshanWu
        19
    RoshanWu  
       2014-01-24 16:06:17 +08:00   ❤️ 2
    如果是独立开发者,可以随心所欲,我一直比较懒,就用编辑器 IDE 默认的设置。
    如果是团队开发:http://editorconfig.org
    ericls
        20
    ericls  
       2014-01-24 16:10:26 +08:00 via Android   ❤️ 1
    4 spaces
    krafttuc
        21
    krafttuc  
       2014-01-24 16:17:45 +08:00   ❤️ 1
    2 or 4 spaces.
    ohsc
        22
    ohsc  
       2014-01-24 16:21:47 +08:00   ❤️ 1
    4 Spaces

    不用tab,因为每个编辑器对tab宽度定义是不一样的,可能会出现排版错乱的问题。
    hkongm
        23
    hkongm  
       2014-01-24 17:18:15 +08:00   ❤️ 2
    2空格,敲键盘用的是tab
    tabs to spaces
    dalang
        24
    dalang  
       2014-01-24 17:26:35 +08:00   ❤️ 1
    tab用space替代是必然,至于几个space还是尽量符合各自的语言规范为好。比如ruby我就2 space,python我会4space
    anson0370
        25
    anson0370  
       2014-01-24 17:31:23 +08:00   ❤️ 1
    tab就是因为实际上并不真的存在2-tab和4-tab所以才尴尬……

    Java 4 spaces
    其余的全部 2 spaces
    juicy
        26
    juicy  
       2014-01-24 17:51:01 +08:00   ❤️ 1
    折中一下, 3spaces?
    robertlyc
        27
    robertlyc  
       2014-01-24 17:51:03 +08:00   ❤️ 1
    2 spaces
    zoverdoser
        28
    zoverdoser  
       2014-01-24 17:51:25 +08:00   ❤️ 1
    Insert spaces for tabs √
    jiyinyiyong
        29
    jiyinyiyong  
       2014-01-24 17:57:11 +08:00   ❤️ 1
    2 spaces, 主要是 CoffeeScript 和 JS
    另外 Go 虽然官方格式化成 Tab, 可我就是爱用 2 spaces
    mtmzorro
        30
    mtmzorro  
       2014-01-24 17:57:17 +08:00   ❤️ 1
    4 spaces +1
    ehs2013
        31
    ehs2013  
       2014-01-24 18:24:12 +08:00   ❤️ 1
    4 空格,根据 PEP 8
    mantianyu
        32
    mantianyu  
       2014-01-24 18:27:29 +08:00   ❤️ 1
    我是来赚感谢的
    sobigfish
        33
    sobigfish  
       2014-01-24 18:29:13 +08:00   ❤️ 1
    新建的项目还是果断psr2 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md 的4空格好
    sublime text也有专门转tab为空格的设置。
    66beta
        34
    66beta  
    OP
       2014-01-24 18:30:26 +08:00
    @sobigfish 对的,转换很方便,sublime是神器
    chenyg32
        35
    chenyg32  
       2014-01-24 20:05:04 +08:00   ❤️ 1
    4spaces跟4-tab什么区别?我都是一个tab(4个空格)……感觉这样最舒服了~
    lightening
        36
    lightening  
       2014-01-24 20:18:01 +08:00   ❤️ 1
    一个 Tab 编辑器转换成 4 个 Space
    Virtao
        37
    Virtao  
       2014-01-24 20:20:15 +08:00 via Android   ❤️ 1
    4tabs
    cyberscorpio
        38
    cyberscorpio  
       2014-01-24 20:44:24 +08:00   ❤️ 1
    用 tab,设为 8。
    因为如果缩进层次太多说明代码有问题
    GreenBamboo
        39
    GreenBamboo  
       2014-01-24 22:46:41 +08:00   ❤️ 1
    一般是4 space
    chenlong451
        40
    chenlong451  
       2014-01-24 23:22:13 +08:00   ❤️ 1
    sublimt text2->tab = 4space
    dorentus
        41
    dorentus  
       2014-01-24 23:35:36 +08:00   ❤️ 1
    ruby: 2 spaces
    其它看情况,大部分是 4 spaces
    不用 tab
    cocorosiekz
        42
    cocorosiekz  
       2014-01-24 23:37:15 +08:00   ❤️ 1
    同pep8,four spaces
    webgeekman
        43
    webgeekman  
       2014-01-25 00:32:17 +08:00   ❤️ 1
    4个space代替tab是最安全的。跨平台不担心出错。因为不同系统,尤其是不同编辑器对tab符的处理是不同的。
    biaobiaoqi
        44
    biaobiaoqi  
       2014-01-25 04:55:39 +08:00   ❤️ 1
    Ruby:2
    Java:4
    如果4个用空格不用tab感觉有些累啊。
    msg7086
        45
    msg7086  
       2014-01-25 08:53:43 +08:00   ❤️ 1
    ruby 2-space
    php 4-tab
    a15819620038
        46
    a15819620038  
       2014-01-25 09:23:53 +08:00 via Android   ❤️ 1
    不用tab
    ruby 4
    node 2
    php 4
    g0t3n
        47
    g0t3n  
       2014-01-25 10:25:45 +08:00   ❤️ 1
    应该是必须用tab的吧,感觉不用tab各种不顺手
    shiweifu
        48
    shiweifu  
       2014-01-25 11:20:08 +08:00   ❤️ 1
    以前4个空格,写Objective-C之后,变成了2个空格
    wulongqiu
        50
    wulongqiu  
       2014-01-26 21:30:25 +08:00   ❤️ 1
    PHPStorm和Sublimtext,4 space,都可以设置按Tab转换成4 Space,操作体验上和Tab没有差别。
    hellotk
        51
    hellotk  
       2014-01-27 09:25:12 +08:00   ❤️ 1
    尽量用space,tab在不同编辑器和不同设定下会有差异,而space不会有这种问题
    我用4space
    66beta
        52
    66beta  
    OP
       2014-01-27 10:22:18 +08:00
    @g0t3n 按键不顺手?这个是实现问题,具体按键还是tab
    zonyitoo
        53
    zonyitoo  
       2014-01-27 11:40:31 +08:00   ❤️ 1
    gofmt默认会给调成tab
    monkeylyf
        54
    monkeylyf  
       2014-01-28 13:01:48 +08:00   ❤️ 1
    python 4 java/scala 2
    konakona
        55
    konakona  
       2014-01-28 16:57:43 +08:00   ❤️ 1
    一般是4!
    像java、python、php等等。
    4是一个很好的习惯,请尽量以该语言的大型IDE(官方最优)的配置为准。

    最主要的话题应该是用tab还是space(此时默认是4哦)。

    而这,并不重要!!!
    以团队的配置为主。
    xingxiucun
        56
    xingxiucun  
       2014-01-28 19:52:53 +08:00   ❤️ 1
    4 -tab
    Fly1993
        57
    Fly1993  
       2014-01-28 21:35:38 +08:00   ❤️ 1
    4Space,否则四处散播的时候会出现各种各样不给力
    bojieyang
        58
    bojieyang  
       2014-01-29 14:44:49 +08:00
    @RoshanWu 网站给力
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4971 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 01:13 · PVG 09:13 · LAX 18:13 · JFK 21:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.