编程大括号的顺序? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Qiangyuan
V2EX    程序员

编程大括号的顺序?

  •  
  •   Qiangyuan 2016-07-31 19:07:24 +08:00 4821 次点击
    这是一个创建于 3360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    编程大括号的顺序应该是{ + } + 左箭头+内容,还是{ + 内容 + }

    34 条回复    2016-08-01 23:04:51 +08:00
    xiahei
        1
    xiahei  
       2016-07-31 19:10:11 +08:00
    一般都是自动补全吧?没有补全的还是喜欢第二种写法。
    wizardoz
        2
    wizardoz  
       2016-07-31 19:24:11 +08:00
    我只能说,两种编译器都能过。所以看各人喜好
    21grams
        3
    21grams  
       2016-07-31 19:46:45 +08:00
    我怎么完全看不懂楼主在说什么
    lneoi
        4
    lneoi  
       2016-07-31 19:50:49 +08:00
    是说打括号的顺序吧。先打全再调到中间,还是先打一半,输入完内容,再来一半。
    没补全 先打完括号,不然到后面一下子就乱了。
    seandor
        5
    seandor  
       2016-07-31 19:55:51 +08:00
    平时用 sublime 都自动补全了 `}`
    eyeKi1l
        6
    eyeKi1l  
       2016-07-31 19:58:48 +08:00 via Android
    其实应该是前者,良好的编程习惯啊。
    不过有了编辑器自动补全以后我就没在意过。。。
    Tiande
        7
    Tiande  
    PRO
       2016-07-31 20:03:15 +08:00 via iPhone
    遵循 先声明,后定义 原则的话,不把大括号先打全就写内容,根本算不上声明。
    声明都没有,还怎么定义。

    写大括号最后才补全的,要么授课老师背锅,要么 IDE 背锅。
    hxtheone
        8
    hxtheone  
       2016-07-31 20:07:55 +08:00
    @21grams 看不懂+1
    Ouyangan
        9
    Ouyangan  
       2016-07-31 20:09:05 +08:00
    成对的.
    haozibi
        10
    haozibi  
       2016-07-31 20:18:23 +08:00 via Android
    第一种,因为大学 c 语言老师告诉我们这样可以避免漏后面的括号
    andychen20121130
        11
    andychen20121130  
       2016-07-31 20:28:05 +08:00 via iPhone
    大还在用 turbo c 当然怕忘。
    gimp
        12
    gimp  
       2016-07-31 20:49:05 +08:00
    哈哈,说不懂的都是生活经历不够丰富呀,不使用自动补全的一眼秒懂,楼主说的是打字的顺序。 嗯... 用 vim 就不用箭头了,{} + ESC + i 就好,要是不用 vim ,我还是更喜欢第二种,毕竟手不用离开主键区
    Wetoria
        13
    Wetoria  
       2016-07-31 20:54:19 +08:00
    记事本我都是{}左箭头,回车回车 tab ,上 tab tab
    @gimp 我还是个 vim 新手,大概会基本操作,编写的时候全用的记事本式的编写习惯,就是上面说的,能交流下经验说说你的习惯吗。
    just4test
        14
    just4test  
       2016-07-31 20:54:53 +08:00   1
    前者兼容自动补全的 ide 。
    我用惯了前者所以依旧用前者。
    @Tiande 这都无所谓了 现在 ide 的实时错误提示早就可以解决这个问题。就像以前写代码提倡 200 == a 而不是 a == 200 ;而现在真无所谓。
    icybee
        15
    icybee  
       2016-07-31 21:00:12 +08:00
    楼主不怎么写 python 吧。。。
    gimp
        16
    gimp  
       2016-07-31 21:00:23 +08:00
    @Wetoria 我也没啥经验.... 选择一个自己习惯的打字方式和一个用的顺手的编辑器就好
    Tiande
        17
    Tiande  
    PRO
       2016-07-31 21:01:19 +08:00 via iPhone
    @just4test 报不报错是一回事儿,是否遵循最佳实践又是另外一回事。

    反正我是做不到最佳实践
    DT27
        18
    DT27  
       2016-07-31 21:01:42 +08:00
    没有自动补全的时候,都是手动打上{},然后左箭头切换过去写内容。。。
    Wetoria
        19
    Wetoria  
       2016-07-31 21:09:21 +08:00
    @gimp 我是打算转战 vim ,看你用 vim 所以想了解看看你的习惯,毕竟 vim 不能像记事本一样直接用鼠标选地方插入,还得是 hjkl 控制。假如你敲到很后面,发现前面有问题要解决你是怎么做的?能否告知一下大概的步骤?
    just4test
        20
    just4test  
       2016-07-31 21:14:27 +08:00
    @Tiande 现代 IDE 已经可以解决最佳实践当初解决的问题,所以最佳实践也没那么大必要了。
    尤其是 200 = a 这种和人的惯性思维相违背,没必要坚持。
    wjself
        21
    wjself  
       2016-07-31 21:16:44 +08:00 via Android
    @Wetoria pgup pgdn
    gimp
        22
    gimp  
       2016-07-31 21:18:44 +08:00   1
    @Wetoria 一般一行不会太长,如果想去的位置靠前面就先 0 回到行首,否则 Shift+F4 到行尾。然后通过 w , b 按单词跳位置比 h l 左右移动快很多

    http://coolshell.cn/articles/5426.html 这个<简明 Vim 练级攻略> 挺不错的,可以看下
    Wetoria
        23
    Wetoria  
       2016-07-31 21:19:57 +08:00
    @gimp √get 。我会去练习的,现在在做一个练习项目。谢谢交流
    icylogic
        24
    icylogic  
       2016-07-31 22:02:17 +08:00   2
    连 vim 都能解决这个问题 https://github.com/jiangmiao/auto-pairs ,还纠结是在用记事本吗……
    arakashic
        25
    arakashic  
       2016-08-01 08:09:54 +08:00
    两种都行啊,就是两种不同的习惯而已,谈不哪一种一种更好。实际工作中,编辑器(至少 vim )可以配置自动补全,或者可以通过高亮提示括号 mismatch 。进一步来说,作为一个程序员,自己如果都跟不上这些嵌套的结构,说明你的代需要重新组织。
    WhoMercy
        26
    WhoMercy  
       2016-08-01 08:46:24 +08:00 via Android
    从学生时代接触 c 开始, CLI 编辑器一直用的①(不然在多层嵌套时容易出错)。
    即使使用 IDE 自动补全之后也是习惯{}←。
    hei1000
        27
    hei1000  
       2016-08-01 09:32:27 +08:00 via Android
    难道不是
    输入{,自动插入},然后光标自动移动到{}的中间,就是上面说的的补全?
    kneep
        28
    kneep  
       2016-08-01 10:18:34 +08:00
    我的 vim 序列:
    { + } + esc + i + 内容 + esc + A + 继续写下面的内容,是不是比较土?
    BrightDawn
        29
    BrightDawn  
       2016-08-01 11:04:46 +08:00
    {回车
    NovemberEleven
        30
    NovemberEleven  
       2016-08-01 11:38:08 +08:00
    { + } + ctrl-b + enter
    SmiteChow
        31
    SmiteChow  
       2016-08-01 14:16:28 +08:00
    楼主问这样的问题,表明你改换编辑器了。
    quxw
        32
    quxw  
       2016-08-01 17:21:05 +08:00
    我就不习惯用自动补全,经常会多打 引号,括号 等等
    Qiangyuan
        33
    Qiangyuan  
    OP
       2016-08-01 23:00:33 +08:00
    @SmiteChow 是的,正在用 vim
    Qiangyuan
        34
    Qiangyuan  
    OP
       2016-08-01 23:04:51 +08:00
    @kneep 你这样用不错!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2745 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 12:30 PVG 20:30 LAX 05:30 JFK 08:30
    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