V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yuhangch
2.53D
V2EX  ›  程序员

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

  •  
  •   yuhangch ·
    yuhangch · Sep 15, 2021 · 8183 views
    This topic created in 1685 days ago, the information mentioned may be changed or developed.

    我一个朋友🐶:

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

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

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

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

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

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

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

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

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

    ![两种换行]( )


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

    我多语言轻度使用,不太喜欢折叠,虽然折叠真的能让结构更加清晰。
    ragnaroks
        42
    ragnaroks  
       Sep 16, 2021
    如果是 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  
       Sep 16, 2021
    格式被抹掉了,懒得贴图了,主要就是缩减各种空格和换行,在方法逻辑多的情况下有辨识度的问题,但是配合多色着色倒是问题不大。
    astkaasa
        44
    astkaasa  
       Sep 17, 2021
    spring java formatter 是换行的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1136 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 109ms · UTC 23:05 · PVG 07:05 · LAX 16:05 · JFK 19:05
    ♥ Do have faith in what you're doing.