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

有没有和我一样喜欢把大括号上下对齐的?尤其是 if 语句

  •  
  •   UtopiaCHN · Jan 29, 2016 · 16682 views
    This topic created in 3933 days ago, the information mentioned may be changed or developed.
    Supplement 1  ·  Jan 29, 2016

    风格一:

    if ( ... )
    {
    ...
    }
    else
    {
    ...
    }

    风格二:

    if ( ... ){
    ...
    }else{
    ...
    }

    你们不觉得第一种的代码可读性更好吗?尤其是多层嵌套的时候。

    112 replies  •  2016-02-13 17:46:46 +08:00
    1  2  
    ❮ ❯
    bdbai
    bdbai
    Jan 29, 2016 via iPhone
    1
    不说语言的都是耍流氓。
    有时候左括号换号是 IDE 给逼的,比如 VS 。个人倾向于不换行。
    skywatcher
    skywatcher
    Jan 29, 2016
    2
    之前喜欢换行(据说¥ 1/行)。后来就算 vs 也强制不换行了,更紧凑剪短,阅读起来方便,还有这一行特么得值¥ 1 啊。

    PS :其实还是看习惯:-D
    NobodyIsMe
    NobodyIsMe
    Jan 29, 2016
    3
    觉得楼主是个 JAVA 工程师
    knightdf
    knightdf
    Jan 29, 2016
    4
    @LinJunzhu 我觉得楼主是个 C#工程师, Java 都是不换行的
    Kilerd
    Kilerd
    Jan 29, 2016
    5
    if for 这些后面的{ 都是不用换行的

    只有 class 才用换行

    这个不是规范里面讲了吗?
    ohmycodeape
    ohmycodeape
    Jan 29, 2016
    6
    每个语言的规范不一样,一般要么按自己喜好随意,要么尊重使用语言的官方或社区性规范
    ykqmain
    ykqmain
    Jan 29, 2016
    7
    不管什么大括号, 都喜欢单独一行, 我是不是没救了
    {
    //
    }
    raincious
    raincious
    Jan 29, 2016
    8
    @Kilerd 还是看语言对应的规范。

    如果你想在 Visual Studio 里写 if (blabla) {的话,最后会被 IDE 逼疯的,至少写 C++的时候是这样。
    mogita
    mogita
    Jan 29, 2016 via iPhone❤️1
    9
    我把 phpstorm 自动排版设置成大括号一律去下一行。。
    asdwfwqd
    asdwfwqd
    Jan 29, 2016
    10
    我也喜欢,但是快捷键格式化的时候也给我改成不换行的了, java eclipse
    小时候 vc 6.0 留下来的习惯吧
    烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫
    Kilerd
    Kilerd
    Jan 29, 2016
    11
    @raincious 那也是,不过好像都有那么两个党派吧,无论是什么语言。

    所以我用 Python : P


    @ck65 PHP 还是习惯我在 5L 说的那种写法。 BTW , phpstorm 应该可以设置啊。
    MartinLv
    MartinLv
    Jan 29, 2016
    12
    平时写 OC/Swift 。屏幕纵向空间宝贵,因此所有左大括号都不换行。
    zacard
    zacard
    Jan 29, 2016
    13
    个人习惯吧。。。
    kepenj
    kepenj
    Jan 29, 2016
    14
    换行的都是牛芒
    ZyZyZzz
    ZyZyZzz
    Jan 29, 2016
    15
    不换行的都是流氓

    不换行阅读效率骤减
    jessynt
    jessynt
    Jan 29, 2016
    16
    if (balabala) {
    #code
    }
    ragnaroks
    ragnaroks
    Jan 29, 2016
    17
    我都是
    ///xxxx
    function(param){//xx
    }
    miyuki
    miyuki
    Jan 29, 2016
    18
    Golang: 你说啥?
    66beta
    66beta
    Jan 29, 2016
    19
    google code style guide
    Rachel030219
    Rachel030219
    Jan 29, 2016
    20
    个人表示更喜欢第二种,虽然开发工具的代码格式化工具格式化出来是第一种,每次都要自己改好久,我是不是没救了
    mogita
    mogita
    Jan 29, 2016 via iPhone
    21
    @Kilerd 嗯,我就是指的 code style 设置。
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Jan 29, 2016
    22
    @Kilerd Python 也是可以打起来的,比如空格和 tab :doge:
    FrankFang128
    FrankFang128
    Jan 29, 2016 via Android
    23
    重要吗
    MyFaith
    MyFaith
    Jan 29, 2016
    24
    我和楼主一样是强迫症。
    orvice
    orvice
    Jan 29, 2016
    25
    golang 你这样写试试看。
    niseceric
    niseceric
    Jan 29, 2016
    26
    golang +1 强迫症走好不送
    SpicyCat
    SpicyCat
    Jan 29, 2016
    27
    每次看到这种问题,我就想到 Golang ,直接从语言层面扼杀了撕逼的可能,这得节约多少时间。
    Guenlay
    Guenlay
    Jan 29, 2016❤️1
    28
    所以 Python 是最优美的语言

    大家快来吵架
    justjavac
    justjavac
    Jan 29, 2016
    30
    去死吧!你这个异教徒! http://zhuanlan.zhihu.com/codestory/19700946
    Phariel
    Phariel
    Jan 29, 2016 via iPhone
    31
    @justjavac 还是你这个应景!!!
    sjtlqy
    sjtlqy
    Jan 29, 2016
    32
    golang 的兄弟们,起来弄死这些异教徒!!! 杀啊!!!!
    xuboying
    xuboying
    Jan 29, 2016 via Android
    33
    不是说代码超过一屏后的 bug 量急剧增加么,还争什么。
    infinet
    infinet
    Jan 29, 2016
    34
    坚决鄙视换行的异端,必需是风格二。
    mikicomo
    mikicomo
    Jan 29, 2016
    35
    C/C++ 风格一, java 风格二,至于 python 呢.....#(滑稽)
    ZhaoMiing
    ZhaoMiing
    Jan 29, 2016
    36
    if(...){
    ...
    }
    else{
    ...
    }
    nozama
    nozama
    Jan 29, 2016
    37
    我就知道,不换行的居多...

    然而失去对称美实在看不下去!

    紧凑? 你咋不每个 block 写一行呢,那才紧凑呢。
    precisi0nux
    precisi0nux
    Jan 29, 2016
    38
    其实根本不重要,按自己的风格写, commit 之前按照约定的标准格式化一下代码,搞定。
    Delbert
    Delbert
    Jan 29, 2016
    39
    @ykqmain
    @MyFaith
    @UtopiaCHN
    你们写 tcl 的时候给我换行试试,函数名后不加空格直接接{试试。
    不说什么语言纯粹耍流氓。
    vivisidea
    vivisidea
    Jan 29, 2016
    40
    必须是风格二,就连 shell 脚本也是

    if [ $? -eq 0 ]; then
    # do something ...
    fi
    cxbig
    cxbig
    Jan 29, 2016
    41
    语言都有统一的代码规范, IDE 自动 reformat ,这种东西不值得操心。
    真要喜欢某个风格,自己改一下本地标准就好。
    morewe
    morewe
    Jan 29, 2016
    42
    各人喜好吧。
    个人有强迫症喜欢风格二。。。而且省行数,可以阅读更多行。
    MountainRain
    MountainRain
    Jan 29, 2016
    43
    公诉人:代码是你写的么? 被告:是 公诉人:念一遍 被告:巴拉巴拉巴拉 审判长:停,你刚刚的大括号换行了吗? 被告:换了 审判长:判 10 年
    raycloud
    raycloud
    Jan 29, 2016
    44
    @morewe 同感
    msg7086
    msg7086
    Jan 29, 2016
    45
    ruby 表示大括号开 block 都是 one line 。
    tux
    tux
    Jan 29, 2016
    46
    {
    {
    {
    这不是更好看
    }
    }
    }
    loveuqian
    loveuqian
    Jan 29, 2016
    47
    - (void)test
    {
    if () {
    //
    }
    }
    jasontse
    jasontse
    Jan 29, 2016 via iPad
    48
    用 Visual Studio 的时候用风格一,其它时候用风格二。
    Zohar
    Zohar
    Jan 29, 2016
    49
    if(…){
    …
    }else{
    …
    }
    plqws
    plqws
    Jan 29, 2016
    50
    觉得换行才丑的只有我一个么
    wizardforcel
    wizardforcel
    Jan 29, 2016
    51
    在模板里写第二种,在代码里写第一种。
    zhgg0
    zhgg0
    Jan 29, 2016
    52
    这种东西没什么好讨论的,严格按照各个语言的规范来。
    konakona
    konakona
    Jan 29, 2016
    53
    我啊!我挺喜欢的!
    GGGG430
    GGGG430
    Jan 29, 2016
    54
    与团队项目风格一致就行, 个人习惯已不重要
    oska874
    oska874
    Jan 29, 2016
    55
    astyle --style=linux xxx.c
    killerv
    killerv
    Jan 29, 2016❤️1
    56
    以前我是都不换行,但是上次听同事说然后看了看,规范的代码应该是这样:
    class 和方法名的花括号换行,凡是逻辑类型的花括号都不换行。
    写 Python 就不用纠结这个, 2333
    icreeper
    icreeper
    Jan 29, 2016
    57
    if ( ... ){
    ...
    }
    else{
    ...
    }
    个人喜欢这样
    500miles
    500miles
    Jan 29, 2016❤️1
    58
    if switch for ..... 控制语句不换行...

    function class .... 换行
    pynix
    pynix
    Jan 29, 2016
    59
    本质上是 Java , C#之争
    skyshy
    skyshy
    Jan 30, 2016
    60
    居然发现 你写的代码行数 比我的还多~哈哈
    paicha
    paicha
    Jan 30, 2016
    61
    楼主缺金币了,哈哈
    bingwenshi
    bingwenshi
    Jan 30, 2016
    62
    你这种属于异教徒,应该烧死

    坚决支持第二种,才是正义
    zonghua
    zonghua
    Jan 30, 2016 via iPhone
    63
    @Kilerd PHP 的标准化是函数类方法要换行的、而循环和逻辑就不换行。
    Yvette
    Yvette
    Jan 30, 2016
    64
    if ( ... ){
    ...
    }
    else{
    ...
    }
    SharkIng
    SharkIng
    Jan 30, 2016
    65
    不是每个标准都是一样的...
    loading
    loading
    Jan 30, 2016 via Android
    66
    我就是这种人…
    yougg
    yougg
    Jan 30, 2016
    67
    我写 Java 时, 左大括号{ 从来都是单独一行.
    我写 Go 时, 左大括号{ 从来都不是单独一行.

    :doge:
    Perry
    Perry
    Jan 30, 2016 via iPhone
    68
    只要确保 consistency 就可以了
    hantsy
    hantsy
    Jan 30, 2016
    69
    PHP PSR 好像有这要求。。。

    不过我基本写 Java , 都是将 { 放末尾。。。 Java 一些觉的 CodeStyle 如 Google Code Style 也是如此。
    beemolin
    beemolin
    Jan 30, 2016
    70
    if (...) {
    ...
    } else {
    ...
    }
    chuhemiao
    chuhemiao
    Jan 30, 2016
    71
    一直是风格 2 ,但是老大一直是风格 1
    h1029306
    h1029306
    Jan 30, 2016
    72
    @UtopiaCHN 风格 2 里面竟然不空格,异教徒烧死

    if (...) {
    ...
    } else {
    ...
    }
    hronro
    hronro
    Jan 30, 2016
    73
    我也喜欢这种风格,可惜我现在的主要语言是 JavaScript ,没法用这种风格(万恶的行尾自动加分号)
    return
    {
    ...
    }
    这种会被转换成
    return ;
    {
    ...
    }
    最后 return 一个 undefined 出来
    zhjits
    zhjits
    Jan 30, 2016
    74
    只要保证 } else { ,别的我没意见
    igaozp
    igaozp
    Jan 30, 2016
    75
    按照规范来
    beemolin
    beemolin
    Jan 30, 2016
    76
    同意 @zhjits
    else 换行跟 if 换行的风格 1 一样都是异教徒
    theJian
    theJian
    Jan 30, 2016
    77
    这个贴至少值五毛
    wawehi
    wawehi
    Jan 30, 2016
    78
    不喜欢打花括号,所以转入了 py 的行列
    Bryan0Z
    Bryan0Z
    Jan 30, 2016 via Android
    79
    写 Java 的,一直风格二
    kingcos
    kingcos
    Jan 30, 2016 via iPhone
    80
    尼玛,我这个选择困难症加强迫症,看到这个又纠结了。。。
    colordancer
    colordancer
    Jan 30, 2016
    81
    我来告诉你为什么要换行:

    //if ()
    {

    }
    dacapoday
    dacapoday
    Jan 30, 2016
    82
    这真是万年钓鱼贴
    an168bang521
    an168bang521
    Jan 30, 2016
    83
    if ( ... ){
    //
    }else{
    ...
    }
    liberize
    liberize
    Jan 30, 2016
    84
    java 一律用风格二, c++ 除了函数用风格一,其余类、语句块等都用风格二
    风格二看起来比较紧凑,另外空格不能少
    PS: 前提是写自己的代码,如果是改现有的代码,保持原有风格
    RitzoneX
    RitzoneX
    Jan 30, 2016
    85
    C 用第 1 种
    Java 用第 2 种
    eliteYang
    eliteYang
    Jan 30, 2016
    86
    用 C++,喜欢第一种, java 的人用第二种
    liearth
    liearth
    Jan 30, 2016
    87
    if () {
    ...
    } else {
    ...
    }
    awfe
    awfe
    Jan 30, 2016
    88
    楼主你 else 两边竟然不加空格……
    wangluwl
    wangluwl
    Jan 30, 2016
    89
    @Yvette me too,习惯这种
    lsmgeb89
    lsmgeb89
    Jan 30, 2016
    90
    if (…) {
    …
    } else {
    …
    }
    akstrom
    akstrom
    Jan 30, 2016
    91
    if ( ... )
    {
    ...
    }
    else
    {
    ...
    }

    看到不是这样的我会很自然的帮它回车..............
    Arthur2e5
    Arthur2e5
    Jan 30, 2016
    92
    哦?我也喜欢对齐啊:

    if (cond)
    --do_something();
    else
    --{
    ----blah();
    ----goto err;
    --}

    (逃)
    * * *
    @vivisidea 在 $? 上面做 zero-check 而不是用 && 和 || 或者直接 if previous_command 都是教程看傻了……
    sfz97308
    sfz97308
    Jan 30, 2016
    93
    之前习惯风格一,感觉结构更清晰易读。
    现在变成习惯风格二了,再看之前自己写的风格一代码,感觉好松散。
    这两种都是合理的,各有利弊。
    iamleung
    iamleung
    Jan 30, 2016
    94
    貌似还没有开始讨论花括号前要不要加空格?
    ^_^
    erinsnow
    erinsnow
    Jan 30, 2016
    95
    @iamleung 不加空格能看吗?就那么懒?懒还回车干啥,全部代码写成一行算了。。。。。
    iamleung
    iamleung
    Jan 30, 2016
    96
    @erinsnow ← ← 大兄弟不要激动,我没说不加空格呢
    littleshy
    littleshy
    Jan 30, 2016
    97
    明明都是可以设置的,为什么都要怪到 VS 身上?
    realpg
    realpg
    Jan 30, 2016
    98
    PHPer ,个人用后一种,最主要原因是省一个空行,一屏幕能多显示出很多代码。

    但是 PSR 规范要求前一种,十分搞不懂连特么括号怎么写都规定……
    Kokororin
    Kokororin
    Jan 31, 2016
    99
    我用 phpfmt 直接格式化成风格一……
    will0404
    will0404
    Jan 31, 2016 via iPhone
    100
    非要大括号的话必然是风格二啊 由于渐渐开始讨厌大括号 现在写 js 开始用 coffee 写
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2604 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 174ms · UTC 00:29 · PVG 08:29 · LAX 16:29 · JFK 19:29
    ♥ Do have faith in what you're doing.