V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ufo22940268
V2EX  ›  Android

是不是现在写 java 代码都流行不折行了

  •  
  •   ufo22940268 · 2014-12-16 19:11:15 +08:00 · 11454 次点击
    这是一个创建于 3635 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/ksoichiro/Android-ObservableScrollView/blob/master/observablescrollview-samples/src/main/java/com/github/ksoichiro/android/observablescrollview/samples/FlexibleSpaceToolbarScrollViewActivity.java#L106

    今天刚刚看到这个代码,一行远远超过70个字符了吧。虽然说也许对于现在来讲70个字符的限制已经更不上潮流了,那这么长都不需要折行吗?

    我还在[SO](http://stackoverflow.com/questions/27180507/android-studio-format-code-wont-auto-break-line/27180581#27180581)上问了一下为什么Android Studio在格式化代码的时候不自动换行。
    6 条回复    2014-12-18 19:50:00 +08:00
    mringg
        1
    mringg  
       2014-12-16 19:55:09 +08:00 via Android
    我喜欢折行,如果你显示器横向分辨率足够,不折行也可以
    vietor
        2
    vietor  
       2014-12-16 20:21:04 +08:00 via Android
    换行是为了适应显示器
    ahmu
        3
    ahmu  
       2014-12-16 21:24:54 +08:00
    没什么流不流行的,不换行就是太任性,坑队友
    rrrrutdk
        4
    rrrrutdk  
       2014-12-17 10:06:04 +08:00   ❤️ 1
    我不喜欢将一行折成多行。
    而是想尽办法不写出那样的代码。

    Linux内核的代码约定里说如果一行超过80字宽,
    那么一定是你需要修改你的程序了。

    但是Java的命名规范以及语法冗余,就会出现
    AInterface<LongButOkayType> anInstance = new AnImplementation<LongButOkayType>();
    t.longAndMustNotBeAbbreviated(parameterA, parameterB, parameterC, .....);

    没人能忍受t.lAMNBA这样的方法名,同样Java里也不会待见t.some_underscore_func();

    所以,我使用2个空格缩进,方法尽量不超过三个以上参数
    多个表达式逻辑运算使用有意义的变量:
    var isFriendly = booleana && booleanb || booleanc && booleand;
    var isMerciless = booleana && booleand || booleanb && booleanc;
    而不是丑陋的
    if ((booleana && booleanb || booleanc && booleand)
    || (booleana && booleand || booleanb && booleanc)

    同时不滥用链式调用与嵌套调用:
    sb.append("afdsafdsafas").append().append().append()......append();
    first(second(third(fourth(fifth()))));

    在这些手段下,基本不会有超过80字符的,如果有,控制行最大字符数在90以内也是可以接受的。

    折行只会打断代码的流畅性,扰乱阅读者的视线,过长的行会扭断他的脖子。
    feilaoda
        5
    feilaoda  
       2014-12-17 20:04:20 +08:00
    现在都是放到120个字符再这行

    80太少
    zhurenhu
        6
    zhurenhu  
       2014-12-18 19:50:00 +08:00
    显示器越来越宽了。貌似现在程序员都很流行21:9的显示器。
    那一行可以显示多少字符,何必换行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2132 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:15 · PVG 00:15 · LAX 08:15 · JFK 11:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.