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

请问下编程中花括号位置问题

  •  
  •   blacktulip · Nov 22, 2011 · 6921 views
    This topic created in 5277 days ago, the information mentioned may be changed or developed.
    if (condition) {
    (statements)
    }

    还是

    if (condition)
    {
    (statements)
    }

    我觉得后者对齐上清楚一点,但是前者省一行...

    不知大家觉得那种习惯比较好。

    (statements) 前面是有缩进的,但是发出来就被吃掉了。
    32 replies    1970-01-01 08:00:00 +08:00
    WarWithinMe
        1
    WarWithinMe  
       Nov 22, 2011
    自己习惯就好。。。我一般用第二种。。。这几天写js代码都是第一种,因为用jquery,经常写些很小的函数。
    chenluois
        2
    chenluois  
       Nov 22, 2011
    这属于个人偏好问题,没有什么好不好的,喜欢那个就用哪个。我一般用前面那种格式,但有的时候也用后面那种,比较随意。
    ywjno
        3
    ywjno  
       Nov 22, 2011
    类C的习惯第二种,类java的习惯第一种(忘了从哪个网上看到的这句话
    Chris_Ys
        4
    Chris_Ys  
       Nov 22, 2011
    完全偏好问题, 如果是 JavaScript 的话请使用第一种, 和一个 Bug 有关:

    return
    {
    // ...
    };

    在某些解释器里会变成

    return ;
    {
    / ...
    };
    fen
        5
    fen  
       Nov 22, 2011
    这个问题可以讨论好几页,就跟讨论编辑器一样。
    roamlog
        6
    roamlog  
       Nov 22, 2011
    习惯第一种
    blacktulip
        7
    blacktulip  
    OP
       Nov 22, 2011
    既然实际上没有统一规范,那我就用第二种了,我觉得第二种找对子的时候更方便。
    cashplk
        8
    cashplk  
       Nov 22, 2011
    习惯第一种了
    aoyoo
        9
    aoyoo  
       Nov 22, 2011
    用c语言,习惯于第二种
    herolee
        10
    herolee  
       Nov 22, 2011
    我用第一种。
    kojp
        11
    kojp  
       Nov 22, 2011
    @blacktulip
    我倒觉得,第一种方便,会有缩进的嘛。。
    Chris_Ys
        12
    Chris_Ys  
       Nov 22, 2011
    据我所知只有 JS 是提倡 (业内间接强迫) 第一种, 原因纯粹是 bug 的关系.

    而 web 端的 JS/CSS 最终会被 minify 掉, 所以实际哪一种都没所谓.

    编程规范完全是个人/团队因素, 能坚持一个风格就可以了.
    wowh
        13
    wowh  
       Nov 22, 2011
    用第一第二种都无所谓,重要的是不要混着用
    myrual
        14
    myrual  
       Nov 22, 2011
    随意吧,和用什么编辑器的问题一样。
    个人喜好第一种,因为大括号占一行有点浪费。
    cynix
        15
    cynix  
       Nov 22, 2011 via iPhone
    如果你選第二種的理由是「找對子方便」,那只能說明你沒選對 editor…
    frittle
        16
    frittle  
       Nov 22, 2011
    习惯第一种
    acdea4effdbb420d
        17
    acdea4effdbb420d  
       Nov 22, 2011
    第一种
    kongruxi
        18
    kongruxi  
       Nov 22, 2011
    习惯第一种
    blacktulip
        19
    blacktulip  
    OP
       Nov 22, 2011
    Xcode 自动生成的那些代码块也是用的第二种 hmm..
    snake45
        20
    snake45  
       Nov 22, 2011
    习惯第一种
    tox
        21
    tox  
       Nov 22, 2011
    个人习惯吧,一直用的第一种,语言是java
    Echoldman
        22
    Echoldman  
       Nov 22, 2011
    条件、循环、分支用第一种,函数、方法、类声明第二种;
    pp2moonbird
        23
    pp2moonbird  
       Nov 22, 2011
    以前一直使用第二种,不过后来看了代码大全,里面提倡第一种。看了之后觉得也挺有道理。
    因为
    if (condition){
    缩进
    }

    更能体现出代码块的概念。

    如果换成vb就是
    if (condition)
    缩进
    end if


    if (condition)
    {
    缩进
    }

    {有点多余。
    ohhe
        24
    ohhe  
       Nov 22, 2011
    我也喜欢第一种。
    第二种多此一举
    fanzeyi
        25
    fanzeyi  
       Nov 22, 2011
    @pp2moonbird

    while xxxx
    begin
    <...>
    end.

    ... =_=

    不过我坚持使用第一种 =_=
    lguan
        26
    lguan  
       Nov 22, 2011
    我个人喜欢第一种,这个也仅仅是习惯问题,两者并没有互相又大的优劣区别,我觉得最关键是要统一,前后一致,小组内一致,项目内一致,这个才最重要
    simple_plan
        27
    simple_plan  
       Nov 22, 2011
    一直用第一种
    hanai
        28
    hanai  
       Nov 23, 2011
    偏爱第一种,我学习的教材都是用第一种的
    benzhe
        29
    benzhe  
       Nov 23, 2011
    习惯第一种,但是如果在改别人的代码就会跟随他们的风格,这应该是某种强迫症...
    magicsilence
        30
    magicsilence  
       Nov 23, 2011
    liyangdal
        31
    liyangdal  
       Nov 23, 2011
    条件、循环、分支用第一种,函数第二种
    在 The C Programming Language里面是这么区分使用的。
    sinxccc
        32
    sinxccc  
       Nov 23, 2011
    自己写的话爱怎么用怎么用。

    在团队里的话跟团队编程规范保持一致。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2802 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 14:17 · PVG 22:17 · LAX 07:17 · JFK 10:17
    ♥ Do have faith in what you're doing.