marklrh
V2EX  ›  问与答

无聊的调查,大家习惯把函数的开头的括号放在函数名末尾还是另起一行?

  •  
  •   marklrh · May 22, 2014 · 5427 views
    This topic created in 4396 days ago, the information mentioned may be changed or developed.
    比如
    int main(){
    return 0;
    }

    还是
    int main()
    {
    return 0;
    }

    类似的,是习惯
    Node* root;

    还是
    Node *root;

    如果偏向某种选择且认为有好处的话,能和大家分享下么?
    12 replies    2014-05-22 22:59:24 +08:00
    allenforrest
        1
    allenforrest  
       May 22, 2014
    和你开发的语言和平台的风格有关:
    1、如果是 Java,都是括号跟随在行尾,从不另起一行。
    2、如果是 C/C++,如果是 Linux 开发,也是括号跟随在行尾,如果是其他平台,一般是另起一行。

    指针的 * 号,比较多的是跟随在类型后面,而不是跟随在变量名前面。

    我说的这些不是标准,只是我看到过的一些习惯,我自己也这样。
    isayme
        2
    isayme  
       May 22, 2014
    分别是:
    int main()
    {
    // C的风格是另起一行, 清晰明了.
    // 最近学的 Javascript 推荐大括号不另起一行, 应该是考虑到 Javascript 有自动添加分号机制.
    }

    Node *root;
    // 这个比较下 Node *root, n; 和 Node* root, n; 两者的易读性就能理解了...
    xuyuanp
        3
    xuyuanp  
       May 22, 2014
    用go吧,不纠结
    msg7086
        4
    msg7086  
       May 22, 2014
    用ruby,不纠结。大括号只放单行,多行一律do/end
    mimzy
        5
    mimzy  
       May 22, 2014
    写法跟语言和 IDE 有关。 /t/21945 /t/103836
    skydiver
        6
    skydiver  
       May 22, 2014
    @allenforrest 如果按二楼的思路,你这个第二点好像反了吧
    allenforrest
        7
    allenforrest  
       May 22, 2014
    @skydiver 你可以去看看 Linux Kernel 代码
    tonghuashuai
        8
    tonghuashuai  
       May 22, 2014
    貌似有个字的规范,比如:
    写 java 时:
    int Main(){
    return 0;
    }

    写 C# 时:
    int main()
    {
    return 0;
    }

    写 Python 时:
    def main():
    return 0
    没有括号好爽
    isayme
        9
    isayme  
       May 22, 2014
    @allenforrest "去死吧, 异教徒!" 哈哈, 开个玩笑~

    @skydiver 代码风格这种东西真不好说.. 个人有个人的喜好...

    @allenforrest 我想吐槽 linux 内核代码缩进是8个空格, 本意很好, 但确实不适合我们..
    nicai000
        10
    nicai000  
       May 22, 2014
    你们都别闹了, 可以嵌套的block例如if把大括号放一行, 不可以嵌套的例如C函数则另起一行, 四海皆准.
    Honwhy
        11
    Honwhy  
       May 22, 2014
    以前公司有个前辈和我说,不要计较美观
    另起一行写花括号,在打补丁(patch)的时候特别有用。
    xff1874
        12
    xff1874  
       May 22, 2014
    代码始终是让人读的,如果这个代码是自己写的,你可能很熟悉它,隔个几个月回来,看一眼就知道了。可是要是你读别人的代码呢。所以,我推荐大括号第二种写法。这样很清楚的表达了,这个block的作用范围。当然这个block里面的代码行数少看不出区别,但是如果中间有N行,并且里面还有block呢,你能很容易的判断每个block的范围么,同理推荐下面一种对指针的定义。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1118 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 18:26 · PVG 02:26 · LAX 11:26 · JFK 14:26
    ♥ Do have faith in what you're doing.