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

前端代码缩进, 2 格还是 4 格?

  •  
  •   sadyx · 272 天前 · 5730 次点击
    这是一个创建于 272 天前的主题,其中的信息可能已经有所发展或是发生改变。

    工作用 react ,我一直是 4 格,但同事都是 2 格。大家的习惯是什么样的?

    83 条回复    2023-07-27 10:42:54 +08:00
    SniperXu
        1
    SniperXu  
       272 天前
    我是 4 格,同事 2 格
    mdn
        2
    mdn  
       272 天前
    prettier .editorconfig
    写代码都是直接 回车,然后格式化,不知道是 tab 还是 空格
    Pastsong
        3
    Pastsong  
       272 天前   ❤️ 1
    两格,jsx 里混了 xml ,本身缩进就多。缩进这东西有了能区分就行,缩太多占屏幕空间
    tool2d
        4
    tool2d  
       272 天前
    我偏后端都是 4 格,但是前端有手写一大堆 div 嵌套情况,2 格也是完全能理解的。
    Megrax
        5
    Megrax  
       272 天前
    2 格,写 HTML/XML 缩进太多,4 格太浪费空间,代码缩进只是为了阅读时层次清晰分明,2 格足矣,写 JS 啥的就顺便都统一用 2 格了。
    7inFen
        6
    7inFen  
       272 天前
    2 格用的多
    https://github.com/facebook/react/blob/main/.editorconfig

    ```
    # https://editorconfig.org
    root = true

    [*]
    charset = utf-8
    end_of_line = lf
    indent_size = 2
    indent_style = space
    insert_final_newline = true
    max_line_length = 80
    trim_trailing_whitespace = true

    [*.md]
    max_line_length = 0
    trim_trailing_whitespace = false

    [COMMIT_EDITMSG]
    max_line_length = 0
    ```
    smark
        7
    smark  
       272 天前
    自从用了笔记本就换 2 格了
    fox2081
        8
    fox2081  
       272 天前
    你们居然不统一 editorconfig 和 prettier 的?目前基本都用 2 格了吧,前端主要是 html 嵌套深度问题
    DOLLOR
        9
    DOLLOR  
       272 天前
    以前我都是用 tab 缩进的,后来新项目的脚手架都是默认两格,就跟着用两格,懒得改了。
    leroy20317
        10
    leroy20317  
       272 天前
    不管两格还是四格 公司代码建议统一标准 eslint prettier 加 git hooks
    我更倾向于两格 四格有点浪费
    Leonard
        11
    Leonard  
       272 天前
    vsc 格式化给几格就是几格,我都可以
    xmumiffy
        12
    xmumiffy  
       272 天前 via Android
    tab 缩进,你爱用几格就配几格
    gimp
        13
    gimp  
       272 天前
    写后端 4 空格,写前端 2 空格。
    dif
        14
    dif  
       272 天前
    4 格,tab 也设置 4 个空格。
    FaiChou
        15
    FaiChou  
       272 天前
    2 格,后来转去写 Swift ,用 4 格好不习惯。
    bruce0
        16
    bruce0  
       272 天前   ❤️ 1
    我用 go 几格 我说了也不算🐶
    shuxhan
        17
    shuxhan  
       272 天前
    tab 缩进 2 格
    cnbatch
        18
    cnbatch  
       272 天前
    4 格
    我在公司用 C# 做的网站项目,需要前后格式统一
    richangfan
        19
    richangfan  
       272 天前
    前后端都是 4 格
    Creamliu
        20
    Creamliu  
       272 天前
    公司规范是两格。但是有个资深 sb 老是不配置代码规范配置文件,直接用 tab 。搞得我 idea 老是报黄色。
    yjim
        21
    yjim  
       272 天前
    项目统一就好了,印象中我见过的项目,后端 4 格比较多,前端 2 格
    houshuu
        22
    houshuu  
       272 天前 via iPhone
    我是啥语言都四格,如果四个看上去挤了,那我就知道该把代码分开了。
    yukiwc
        23
    yukiwc  
       272 天前
    4 格,2 格太挤了看不习惯
    ysc3839
        24
    ysc3839  
       272 天前 via Android
    我自己写 C++是 Tab4 格,写前端是 Space2 格
    xiangyuecn
        25
    xiangyuecn  
       272 天前
    2 格反人类,肉眼看去和没缩进一样,干脆不缩进得了
    molvqingtai
        26
    molvqingtai  
       272 天前
    前端一般都是 2 格
    theprimone
        27
    theprimone  
       272 天前
    尝试做了一个全套代码规范的脚本 https://github.com/jannajs/janna 目前自用还行
    CodeCodeStudy
        28
    CodeCodeStudy  
       272 天前
    后端 4 格,因为后端嵌套没那么多,用 4 格看清楚些,前端用 2 格,因为前端实在嵌套太多了
    sdjl
        29
    sdjl  
       272 天前
    python 4, js 2
    mdn
        30
    mdn  
       272 天前
    @xiangyuecn 2 格反人类?那你是没见过 js 回调地狱
    hgc81538
        31
    hgc81538  
       272 天前
    用 tab 不好嗎, 只佔用 1 字節, 而且用戶可以按喜好用 2/3/4 空格顯示, 我不明白為什麼空格是主流...
    woshipanghu
        32
    woshipanghu  
       272 天前
    前端嵌套太多了 2 格比较好
    chuhades
        33
    chuhades  
       272 天前
    统一即美
    churchill
        34
    churchill  
       272 天前
    2 ,没有看不清楚吧,看图说话
    [Imgur]( https://imgur.com/SFDIOEJ)
    777777
        35
    777777  
       272 天前
    go 强行统一
    xiangyuecn
        36
    xiangyuecn  
       272 天前
    @mdn #30 @woshipanghu #32 不管是 js ,还是 html ,4 空格或者 1tab 的可读性完全吊打 2 空格的,如果硬要上 5 层 10 层 100 层的缩进,几格都不好使。另:回调地狱不单是 js 的专利,只要你愿意,很多语言都支持函数套函数写法,写的烂不能怪缩进
    duke807
        37
    duke807  
       272 天前 via Android
    嫌 4 格太长的估计没写过 linux kernel 代码
    darknoll
        38
    darknoll  
       272 天前
    必须是两个空格
    guo4224
        39
    guo4224  
       272 天前 via iPhone
    tab
    hello2090
        40
    hello2090  
       272 天前
    有没有人相信,我曾经在缩进 3 格的地方干了 6 年!
    woshipanghu
        41
    woshipanghu  
       272 天前
    @xiangyuecn 那你可能没写过稍微复杂点的前端 页面随随便 10 个嵌套很正常
    tediorelee
        42
    tediorelee  
       272 天前
    2
    IvanLi127
        43
    IvanLi127  
       272 天前 via Android
    两格。。现在前端太复杂了,React 如果用 C
    ontext 的话,四格那没两下就到屏幕外边去了。。。
    darkengine
        44
    darkengine  
       272 天前
    React 我用两格, app (OC, Java)用四格
    liunice
        45
    liunice  
       272 天前
    我以前喜欢四格,自从使用超宽屏后,改为两格。左边放编辑器,右边放浏览器。
    cloudzqy
        46
    cloudzqy  
       272 天前
    如果是纯写 node ,可以用四格。写 jsx ,vue 之类的,不要用 4 格。
    4 格的可读性是好了,但是写 html 相关的东西,随便套个几层就爆了。
    wyx119911
        47
    wyx119911  
       272 天前   ❤️ 2
    总结:4 格太长浪费空间,2 格容易看不清,我选择 3 格🐶
    luvxy
        48
    luvxy  
       272 天前
    4 格,2 格觉得挤说明要封装了
    LindsayZhou
        49
    LindsayZhou  
       272 天前
    看语言。
    内核那边是 tab 缩进,8 宽度
    Python 的 pep8 是建议 4 空格
    sunmoon1983
        50
    sunmoon1983  
       272 天前
    4 空格,必须的
    jorneyr
        51
    jorneyr  
       272 天前
    比较喜欢 4 个空格,看起来舒服,2 个空格太挤了。
    现在前端 HTML 一般情况层次不会太深了,都抽象成组件了。
    jixule
        52
    jixule  
       271 天前
    4 格舒服,但是 vscode 分栏显示的时候太占地方,最头疼横向滚动
    psklf
        53
    psklf  
       271 天前
    这种帖能进水深火热不 @Livid
    tisswb
        54
    tisswb  
       271 天前
    前端 2 格,后端 4 格( php ,python ,java )
    StateMa
        55
    StateMa  
       271 天前
    4 ,后端干旧了习惯了,虽说现在都是 eslint 了,无所谓了
    tyrone2333
        56
    tyrone2333  
       271 天前
    公司屏幕小, 项目都是 2 格, 家里大屏喜欢 4 格
    ma836323493
        57
    ma836323493  
       271 天前
    4 格, 眼睛不管用了 2 格看不出来
    dongdongdong
        58
    dongdongdong  
       271 天前
    2
    thinkershare
        59
    thinkershare  
       271 天前
    我喜欢 4 个空格,2 个空格太短了。不过项目启动时候会和团队的人决策,然后写入到代码风格检测工作流,最终提交到仓库反正是统一的格式。你自己本地怎么搞别人也管不了。
    me1onsoda
        60
    me1onsoda  
       271 天前
    ide 一键 reformat code ,管他是几格
    ispinfx
        61
    ispinfx  
       271 天前 via iPhone   ❤️ 1
    3 格,别争了
    karott7
        62
    karott7  
       271 天前
    1 格
    Arrowing
        63
    Arrowing  
       271 天前
    不管语言都喜欢 2 格,能看到更多内容
    lmmlwen
        64
    lmmlwen  
       271 天前
    前端 2 格 html 你懂的
    后端 4 格 你懂的
    sjhhjx0122
        65
    sjhhjx0122  
       271 天前
    我都是跟着项目的 prettier 和 eslint 走的,git 提交也有验证,不会出现混用的情况吧
    sankooc
        66
    sankooc  
       271 天前
    我一般是用 2 格 主要觉得 2 格好看一些
    skiy
        67
    skiy  
       271 天前
    四格。
    但写 yaml 时,两格。

    基本不用 tab ,因为文档有时是空格,有时 tab ,会导致格式不一致,然后又不明显。
    flyinghigherair
        68
    flyinghigherair  
       271 天前
    4 格,从 vs 时代写 asp 时候遗传下来的习惯
    zackzergzeng
        69
    zackzergzeng  
       271 天前
    之前代码写几格就写几格,我 js 和 python 混写,js2 格,python4 格
    daliusu
        70
    daliusu  
       271 天前
    写了七八年前端,除了很早期的时候直接写 html ,否则真没见过 4 格的
    Jaosn
        71
    Jaosn  
       271 天前
    前端肯定 2 ,4 的话配合上 80 宽度,无法想象
    HCT1
        72
    HCT1  
       271 天前
    坚定的 2 格党,vue 和 react 的文档也都是 2 格,跟人辩论也更有信心✌️
    startdust
        73
    startdust  
       271 天前
    前端,2 格
    debuggerx
        74
    debuggerx  
       271 天前
    个人习惯 2 格,换行从 80 改为 120 ~ 160
    greatbody
        75
    greatbody  
       271 天前
    看你的电脑屏幕宽不宽,宽就 4 格,否则 2 格。
    leeggco
        76
    leeggco  
       271 天前
    2 格
    tuutoo
        77
    tuutoo  
       271 天前
    前端应该 2 格的多点吧。 后端 C#是 Tab 或者是 4 格的。
    Longerrrr
        78
    Longerrrr  
       271 天前
    ediorconfig 用 tab ,然后 tab 长度显示按个人喜好选 2 格还是 4 格。
    Masoud2023
        79
    Masoud2023  
       271 天前
    2
    Laobai
        80
    Laobai  
       271 天前
    看格式化的时候试几格,那就是几格🤣
    K120
        81
    K120  
       271 天前
    前端 2 格是正确! 后端 4 格。
    alexchan
        82
    alexchan  
       271 天前
    0 格,主打一个就是整齐😎
    ajan
        83
    ajan  
       270 天前
    tab , 4 格,自动换行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5957 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:25 · PVG 10:25 · LAX 19:25 · JFK 22:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.