你们代码缩进用啥?4-tab?4 spaces?2-tab?2spaces? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
66beta
V2EX    PHP

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

  •  
  •   66beta 2014-01-24 15:03:24 +08:00 14513 次点击
    这是一个创建于 4333 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了几处,貌似推荐的缩进都不一样,到底哪个是比较流行、用的比较多的?
    或者大公司的大牛们,他们用的是哪个?
    第 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  
    PRO
       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
    我是来赚感谢的
    run2
        33
    run2  
       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
    frank451
        40
    frank451  
       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     Solana     1327 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:05 PVG 01:05 LAX 09:05 JFK 12:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86