• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yuhangch
2.53D
V2EX  ›  程序员

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

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

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

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

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

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

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

    ![两种换行]( )


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

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