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

2014-12-16 19:11:15 +08:00
 ufo22940268
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在格式化代码的时候不自动换行。
11864 次点击
所在节点    Android
6 条回复
mringg
2014-12-16 19:55:09 +08:00
我喜欢折行,如果你显示器横向分辨率足够,不折行也可以
vietor
2014-12-16 20:21:04 +08:00
换行是为了适应显示器
ahmu
2014-12-16 21:24:54 +08:00
没什么流不流行的,不换行就是太任性,坑队友
rrrrutdk
2014-12-17 10:06:04 +08:00
我不喜欢将一行折成多行。
而是想尽办法不写出那样的代码。

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
2014-12-17 20:04:20 +08:00
现在都是放到120个字符再这行

80太少
zhurenhu
2014-12-18 19:50:00 +08:00
显示器越来越宽了。貌似现在程序员都很流行21:9的显示器。
那一行可以显示多少字符,何必换行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/154424

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX