迫于摸鱼瞎想,大家是代码折行时.放在哪行 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
chenyu8674
V2EX    程序员

迫于摸鱼瞎想,大家是代码折行时.放在哪行

  •  
  •   chenyu8674 2021-01-05 13:52:46 +08:00 5729 次点击
    这是一个创建于 1739 天前的主题,其中的信息可能已经有所发展或是发生改变。
    a.
    b()
    还是
    a
    .b()


    摸鱼中,想了解下
    第 1 条附言    2021-01-05 15:52:14 +08:00
    a
    .
    b()
    的大哥请受我一拜
    53 条回复    2021-01-06 13:16:28 +08:00
    crazyorr
        1
    crazyorr  
       2021-01-05 13:56:08 +08:00
    a.
    mazhiyuan
        2
    mazhiyuan  
       2021-01-05 13:56:45 +08:00
    a
    .b(),点在前面清晰点
    fengxuejuan
        3
    fengxuejuan  
       2021-01-05 13:57:28 +08:00
    只会以字母和下划线开头,所以是第二种
    Zatoichi1966
        4
    Zatoichi1966  
       2021-01-05 13:57:55 +08:00   1
    一般用第二种,
    因为单行注释,第二种注释后,不需要在调整符号位置;如下:
    a
    //.b()
    .c();
    Zatoichi1966
        5
    Zatoichi1966  
       2021-01-05 13:59:21 +08:00
    第一种也可以,晕;当我扯犊子吧...
    crazyorr
        6
    crazyorr  
       2021-01-05 14:00:36 +08:00
    @crazyorr 怎么换行啊?按了回车直接发出去了..
    oxromantic
        7
    oxromantic  
       2021-01-05 14:04:33 +08:00
    @crazyorr shift+enter ...几百年前就有的机制了,电脑上不用 qq 微信换行么..
    codyfeng
        8
    codyfeng  
       2021-01-05 14:05:14 +08:00 via Android
    第二种,符号放在行首比行尾好看
    3t
        9
    3t  
       2021-01-05 14:09:51 +08:00
    莫名觉得第一种漂亮
    Vindroid
        10
    Vindroid  
       2021-01-05 14:10:24 +08:00
    .b() 放行首第一眼就知道这是个连续代码段
    Lin0936
        11
    Lin0936  
       2021-01-05 14:12:21 +08:00   6
    a
    .
    b()
    forgottencoast
        12
    forgottencoast  
       2021-01-05 14:28:53 +08:00   1
    @oxromantic
    你们说的啥,不会是在这里留言怎么换行吧?
    PoetAndPoem
        13
    PoetAndPoem  
       2021-01-05 14:38:31 +08:00
    没看懂楼主说的是啥, 是指 sublime 的 ctrl+shift+ +/- 的那种快捷键
    PoetAndPoem
        14
    PoetAndPoem  
       2021-01-05 14:41:19 +08:00
    sorry, 记错了, 是 ctrl + shift + [ / ]
    chendy
        15
    chendy  
       2021-01-05 14:46:06 +08:00
    肯定要放下一行
    如果是不需要的分号的语言,就一个 b() 看着像调用了一个普通方法一样(虽然从缩进上还能看出来
    PoetAndPoem
        16
    PoetAndPoem  
       2021-01-05 15:06:35 +08:00
    @Vindroid 总算看懂了楼主说的是啥==,我也是这么做的,
    e.g \
    list.steam()
    .map()
    .collect() \

    一般来说,在 java 里,steam 流用到这个的场景比较多,或者 signature 比较长的场景会这样做
    webassembly
        17
    webassembly  
       2021-01-05 15:18:44 +08:00
    还好我写 go,没有这个烦恼
    PoetAndPoem
        18
    PoetAndPoem  
       2021-01-05 15:19:32 +08:00
    @webassembly 给一个示例,求你了
    webassembly
        19
    webassembly  
       2021-01-05 15:26:49 +08:00
    @PoetAndPoem #18 go 里面只能是同一行或者
    a.
    b() 这种写法
    a
    .b()这样写法会报语法错误
    lithbitren
        20
    lithbitren  
       2021-01-05 15:28:06 +08:00
    Go 放后面,其他语言原则上放前面。。
    Pastsong
        21
    Pastsong  
       2021-01-05 15:31:07 +08:00   1
    someStream()
    .pipe(fn)
    .pipe(fn)
    .pipe(fn)
    .pipe(fn);
    iceneet
        22
    iceneet  
       2021-01-05 15:31:21 +08:00
    a.
    b()
    boris93
        23
    boris93  
       2021-01-05 15:32:20 +08:00 via Android
    a
    .b()
    .c();
    Pastsong
        24
    Pastsong  
       2021-01-05 15:32:38 +08:00
    @Pastsong v2 会 trim 掉行首空字符...上面的.pipe 前面有个 tab 缩进的
    wr516516
        25
    wr516516  
       2021-01-05 16:09:26 +08:00
    a
    .b()
    .c();
    favourstreet
        26
    favourstreet  
       2021-01-05 16:12:09 +08:00 via Android
    写.b()
    放上一行看起来不像句号吗?
    oxromantic
        27
    oxromantic  
       2021-01-05 16:42:31 +08:00
    .b()

    除了上面的 go,用 IDE 应该都这种形式吧,毕竟"."会触发方法提示,在触发方法提示的时候敲个回车不是为难自己么
    icyalala
        29
    icyalala  
       2021-01-05 16:44:12 +08:00
    @icyalala 错了。。是 JS 。。
    b00tyhunt3r
        30
    b00tyhunt3r  
       2021-01-05 17:14:55 +08:00
    @Pastsong
    这功能非常 annoying
    说实话 v2 有不少自作聪明实则鸡肋的冗余功能
    真正有需求又体现实力的地方比如传图,传视频又做不好
    Leviathann
        31
    Leviathann  
       2021-01-05 17:21:19 +08:00 via iPhone
    现代 ide 和 lsp 都有链式调用换行时在行尾自动添加类型提示信息的功能
    所以肯定是点在前面啦
    qwerthhusn
        32
    qwerthhusn  
       2021-01-05 17:30:11 +08:00   1
    其实我想考虑的是
    "abc"
    + "def"
    还是
    "abc" +
    "def"
    bog
        33
    bog  
       2021-01-05 18:01:16 +08:00 via Android
    交给 clang-format 吧,否则一个团队内总会有不一样的声音的
    en20
        34
    en20  
       2021-01-05 18:12:20 +08:00 via iPhone
    放第一行尾如果太长,会让第二行看起来是函数定义,不要这样
    joesonw
        35
    joesonw  
       2021-01-05 18:16:29 +08:00
    a
    .b()

    新增 .c() 的时候只有一行 diff
    zhangshine
        36
    zhangshine/strong>  
       2021-01-05 19:00:23 +08:00
    a
    .b()

    第二行多点空格
    waynnne
        37
    waynnne  
       2021-01-05 19:14:47 +08:00
    a
    .b()

    Java 的 Stream 流、Builder 模式中比较常见。
    dream7758522
        38
    dream7758522  
       2021-01-05 19:24:23 +08:00 via Android
    a.b
    dream7758522
        39
    dream7758522  
       2021-01-05 19:24:43 +08:00 via Android
    a.b
    ()
    linux40
        40
    linux40  
       2021-01-05 20:17:25 +08:00 via Android
    不知道,我从没想过这个问题,我都是用代码自动格式化工具来折行的。
    palfortime
        41
    palfortime  
       2021-01-05 20:20:56 +08:00 via Android
    交给 rustfmt 烦恼
    jzmws
        42
    jzmws  
       2021-01-05 20:40:05 +08:00
    @Lin0936 你们公司按照代码行算工资吧
    a
    .
    (
    )
    jzmws
        43
    jzmws  
       2021-01-05 20:41:37 +08:00
    不过一般是

    a
    .b()

    很多开源的都是按照这样写的,然后我也用

    其实跟多 a.b(c-{
    })
    no1xsyzy
        44
    no1xsyzy  
       2021-01-05 20:47:15 +08:00
    @qwerthhusn C 、Python 等语言可以不用加号,实际被当作一个完整的字符串字面量:
    "abc" \
    "def"
    或者,在不产生歧义的情况下可以不加反斜杠
    ("abc"
    "def")
    dotw2x
        45
    dotw2x  
       2021-01-05 20:48:13 +08:00 via iPhone
    习惯这么搞,看着爽一点
    list.Where()
    .Take()
    .Select()
    .ToList();
    ychost
        46
    ychost  
       2021-01-05 20:48:31 +08:00
    stream().map(..)
    .filter(..)
    .reduce(..)
    20015jjw
        47
    20015jjw  
       2021-01-06 01:50:04 +08:00 via iPhone
    不同语言不一样吧...
    PEAL
        48
    PEAL  
       2021-01-06 09:39:23 +08:00
    突然想起来 layui 的窒息写法

    table.render({
    elem: '#demo'
    ,height: 312
    ,url: '/demo/table/user/' //数据接口
    ,page: true //开启分页
    ,cols: [[ //表头
    {field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
    ,{field: 'username', title: '用户名', width:80}
    ,{field: 'sex', title: '性别', width:80, sort: true}
    ,{field: 'city', title: '城市', width:80}
    ,{field: 'sign', title: '签名', width: 177}
    ,{field: 'experience', title: '积分', width: 80, sort: true}
    ,{field: 'score', title: '评分', width: 80, sort: true}
    ,{field: 'classify', title: '职业', width: 80}
    ,{field: 'wealth', title: '财富', width: 135, sort: true}
    ]]
    });
    gaigechunfeng
        49
    gaigechunfeng  
       2021-01-06 10:27:36 +08:00
    这,上,热,门?
    哈哈,年底池塘的鱼都不够摸了吗
    songco
        50
    songco  
       2021-01-06 10:44:59 +08:00
    都能接受, 项目统一的 formatter 是什么样就按什么来
    togou
        51
    togou  
       2021-01-06 12:08:38 +08:00
    Pms
    .then()
    .then()
    这也太标准了啊
    短的直接
    [].filter().map().some();
    yamasa
        52
    yamasa  
       2021-01-06 13:14:50 +08:00
    Java 要是写 stream lamda 或者 reactive,不用.func()太难看了啊。 一行一行的.func()感觉足够优雅,可读性也好得多。
    wangyzj
        53
    wangyzj  
       2021-01-06 13:16:28 +08:00
    除了 js
    用前者
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2363 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 15:47 PVG 23:47 LAX 08:47 JFK 11:47
    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