感叹一下,花括号换不换行真能把人难受死哈哈 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yuhangch
2.53D
V2EX    程序员

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

  •  
  •   yuhangch
    yuhangch 2021-09-15 11:39:16 +08:00 7686 次点击
    这是一个创建于 1489 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我一个朋友:

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

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

    习惯真的挺有意思的

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

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

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

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

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

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

    ![两种换行]( )


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

    我多语言轻度使用,不太喜欢折叠,虽然折真的能让结构更加清晰。
    ragnaroks
        42
    ragnaroks  
       2021-09-16 11:37:50 +08:00
    如果是 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  
       2021-09-16 11:39:31 +08:00
    格式被抹掉了,懒得贴图了,主要就是缩减各种空格和换行,在方法逻辑多的情况下有辨识度的问题,但是配合多色着色倒是问题不大。
    astkaasa
        44
    astkaasa  
       2021-09-17 13:03:47 +08:00
    spring java formatter 是换行的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5475 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 08:33 PVG 16:33 LAX 01:33 JFK 04:33
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86