无聊的调查,大家习惯把函数的开头的括号放在函数名末尾还是另起一行? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
marklrh
V2EX    问与答

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

  •  
      marklrh 2014 年 5 月 22 日 5242 次点击
    这是一个创建于 4275 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如
    int main(){
    return 0;
    }

    还是
    int main()
    {
    return 0;
    }

    类似的,是习惯
    Node* root;

    还是
    Node *root;

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

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

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

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

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

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

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

    @allenforrest 我想吐槽 linux 内核代码缩进是8个空格, 本意很好, 但确实不适合我们..
    nicai000
        10
    nicai000  
       2014 年 5 月 22 日
    你们都别闹了, 可以嵌套的block例如if把大括号放一行, 不可以嵌套的例如C函数则另起一行, 四海皆准.
    Honwhy
        11
    Honwhy  
       2014 年 5 月 22 日
    以前公司有个前辈和我说,不要计较美观
    另起一行写花括号,在打补丁(patch)的时候特别有用。
    xff1874
        12
    xff1874  
       2014 年 5 月 22 日
    代码始终是让人读的,如果这个代码是自己写的,你可能很熟悉它,隔个几个月回来,看一眼就知道了。可是要是你读别人的代码呢。所以,我推荐大括号第二种写法。这样很清楚的表达了,这个block的作用范围。当然这个block里面的代码行数少看不出区别,但是如果中间有N行,并且里面还有block呢,你能很容易的判断每个block的范围么,同理推荐下面一种对指针的定义。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2786 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 00:50 PVG 08:50 LAX 16:50 JFK 19:50
    Do have faith in what you're doing.
    ubao msn 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