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

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

  •  
  •   yuhangch · 5 天前 · 4584 次点击

    我一个朋友🐶:

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

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

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

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

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

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

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

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

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

    ![两种换行]( )


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

    我多语言轻度使用,不太喜欢折叠,虽然折叠真的能让结构更加清晰。
    ragnaroks
        42
    ragnaroks   4 天前
    如果是 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   4 天前
    格式被抹掉了,懒得贴图了,主要就是缩减各种空格和换行,在方法逻辑多的情况下有辨识度的问题,但是配合多色着色倒是问题不大。
    astkaasa
        44
    astkaasa   3 天前
    spring java formatter 是换行的
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   897 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 20:25 · PVG 04:25 · LAX 13:25 · JFK 16:25
    ♥ Do have faith in what you're doing.