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

感叹一下,花括号换不换行真能把人难受死哈哈

  •  
  •   yuhangch · 12 天前 · 4660 次点击

    我一个朋友🐶:

    之前写 java,工作现在参与一个.net 后端,看到花括号换行真的浑身难受,前辈说他写 js 时候看花括号不换行也难受的要死

    之前看硅谷,看他们调侃 tab 还是空格的时候还感觉是夸张了

    习惯真的挺有意思的🤣🤣🤣

    44 条回复    2021-09-17 13:03:47 +08:00
    xylophone21
        1
    xylophone21   12 天前
    用 golang 吧
    pixiaotiao
        2
    pixiaotiao   12 天前 via Android
    前半个都不换行啊
    liuhuansir
        3
    liuhuansir   12 天前
    @pixiaotiao Java 里是前面的括号不换行,c# c++ c 好像都是换行,都来写 Python 吧,没有括号,不用纠结了
    kiracyan
        4
    kiracyan   12 天前
    我感觉都能接受
    360511404
        5
    360511404   12 天前   ❤️ 8
    如果左花括弧换行了
    一屏显示的代码行数就少了
    更难以纵观全局
    感觉人生都因此浪费了几年{
    doge
    }
    NewYear
        6
    NewYear   12 天前
    C#默认是左括号会换行,,,真心不喜欢,就像楼上说的,很浪费屏幕空间。
    pkookp8
        7
    pkookp8   12 天前 via Android   ❤️ 12
    py,有游标卡尺就能写代码
    maplerecall
        8
    maplerecall   12 天前 via Android   ❤️ 1
    同时写 C#和 Js,一个换行一个不换行,没啥不适。讲道理只要保证同项目中同语言一致就可以了…
    dingwen07
        9
    dingwen07   12 天前 via iPhone
    你都快难受死了还不随手点一下格式化?
    AoEiuV020
        10
    AoEiuV020   12 天前
    项目内保持一致就好,webrtc 中的 c++代码左花括号就统一不换行,一般 c++这是有换行的吧,
    WoodenTea
        11
    WoodenTea   12 天前
    多尝试写不同的语言,估计就觉得都好看了
    raaaaaar
        12
    raaaaaar   12 天前 via Android
    工具统一,习惯统一,用 jb 家的 ide,同一换行
    JJsty1e
        13
    JJsty1e   12 天前
    我屏幕大,我支持换行
    yolee599
        14
    yolee599   12 天前 via Android
    遵从语言使用习惯,c/c++,c# 大家都换行你不换行就显得很另类
    masterclock
        15
    masterclock   12 天前
    古代的时候,编辑器还没现在这么强大,如果开大括号不换行,找对应的时候真是要死啊
    MayKiller
        16
    MayKiller   12 天前
    为啥纠结。
    JS/TS 用 Prettier
    C/C++ 用 clang-format
    Rust/Go 都自带
    每个语言分别统一就没这么多事儿了
    heiheidewo
        17
    heiheidewo   12 天前
    整个项目用同一种代码风格就行了,至于哪种风格适合自己,可以用 https://formatter.org/ 在线格式化代码看看
    yuhangch
        18
    yuhangch   12 天前
    @dingwen07 不敢,刚上班,自己难受不能让大哥们难受哈哈
    Macolor21
        19
    Macolor21   12 天前
    Google, Leetcode 都是括号之后不换行。
    pigspy
        20
    pigspy   12 天前
    遵从语言习惯吧
    qwerthhusn
        21
    qwerthhusn   12 天前
    这个不同的公司有不同的规定,不过大部分公司压根不规定

    所以想换就换想不换就不换。。
    之前菊花的 Java 就是要求换的,在分支比较多的时候,看着代码特别的散
    hjahgdthab750
        22
    hjahgdthab750   12 天前
    @pkookp8 #7 python 的 Logger 命名风格与 pep8 不一致
    namelosw
        23
    namelosw   12 天前
    之前看一些用 C# 讲解东西的博客帖子,感觉很蛋疼,翻了好多页没讲几句话。
    Rwing
        24
    Rwing   12 天前
    没想到这个问题也能黑起来,明明是两种风格,没有孰优孰劣。
    有这个功夫,不如看看这两行代码哪个更清爽
    person.setAge(p.getAge() + 1);
    person.Age++;
    aneostart173
        25
    aneostart173   12 天前
    @AoEiuV020 c/c++有换的有不换的,我习惯不换。
    fgwmlhdkkkw
        26
    fgwmlhdkkkw   12 天前
    @Rwing #24 persion.AgeIncrBy(1); 🐶
    huruwo
        27
    huruwo   12 天前
    支持分号不换行
    hatsuyuki
        28
    hatsuyuki   12 天前
    @liuhuansir JetBrains Google 都是左括号不换行的
    0o0o0o0
        29
    0o0o0o0   12 天前
    只要是整齐就好
    echo1937
        30
    echo1937   12 天前 via iPhone
    我写的 c 、go 、java 、js 、kotlin 都是不换行,习惯了。
    Hanggi
        31
    Hanggi   12 天前
    Golang: 不要把时间精力花在这种无关紧要的细节上,花括号换行直接编译器报错。
    useben
        32
    useben   12 天前
    Golang: 直接统一编码风格, 把精力花在刀刃上
    Building
        33
    Building   12 天前 via iPhone
    因为这一点,果断放弃了 Go,就好像非要强迫左撇子用右手写字一样,怎么写怎么不爽,代码能写好吗?
    chuhades
        34
    chuhades   11 天前
    统一即美。
    Rocketer
        35
    Rocketer   11 天前
    什么代码都能读,但自己写还是习惯不换行,写完了用快捷键格式化一下再保存,OVER 。

    不过 Visual Studio 格式化 js 也是换行的

    我现在领略到了 Python 的智慧——直接不用花括号,看你们谁还 BB !
    Maiiiiii
        36
    Maiiiiii   11 天前
    之前从 java 转 unity,每天都在换行还是不换行之间自我怀疑
    liberize
        37
    liberize   11 天前 via Android
    if (a)
    {
    a = b;
    }
    else
    {
    a = c;
    }
    看到这种本来一个三元表达式 1 行搞定的也能写 8 行,真的浑身难受
    dfkjgklfdjg
        38
    dfkjgklfdjg   11 天前
    @liberize #37,单独一行的花括号真的太淦了.....

    ```
    if (a) {
    a = b;
    } else {
    a = c;
    }
    ```
    或者
    ```
    !!a ? a=b : a=c
    ```

    会舒服好多啊.....为啥要折行 增加 无意义段落,
    对比一下折 3 行的情况,明明可以用水果刀的,非要上电锯…

    ![两种换行]( )


    早些年还看到过这样的 🤯🤯🤯
    ```
    if (foobar) {
    foo(); }
    else {
    bar(); }
    ```
    难受死我算了
    Fule
        39
    Fule   11 天前
    这个还是遵守不同语言的编程规范和约定吧。比如 C# 就换行,JS 就不换行,没有说所有语言都要换行或者都不换行。
    thtznet
        40
    thtznet   11 天前
    @NewYear 因为 C# 的 IDE 默认就可以根据方法名进行折叠的,屏幕空间并不是问题。
    NewYear
        41
    NewYear   11 天前
    @thtznet

    我多语言轻度使用,不太喜欢折叠,虽然折叠真的能让结构更加清晰。
    ragnaroks
        42
    ragnaroks   11 天前
    如果是 vs 的话,可以设定格式化规则,默认规则下很多地方都换行,可以导入别人写好的规则。我现在用的是他们自己人 Tim Lu 的规则。

    public void method1(param1,param2,param3){
    codeLine;
    codeLine;

    if(true){ codeBlock; }else{ codeBlock; }

    if(false){
    codeBlock;
    codeBlock;
    }else{
    codeBlock;
    codeBlock;
    }

    code=codeBlock?codeBlock:codeBlock;

    return;
    }
    ragnaroks
        43
    ragnaroks   11 天前
    格式被抹掉了,懒得贴图了,主要就是缩减各种空格和换行,在方法逻辑多的情况下有辨识度的问题,但是配合多色着色倒是问题不大。
    astkaasa
        44
    astkaasa   10 天前
    spring java formatter 是换行的
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2641 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:08 · PVG 19:08 · LAX 04:08 · JFK 07:08
    ♥ Do have faith in what you're doing.