android-studio - 为什么 Android Studio 缩进两个标签?

我想知道这有什么意义,首先我认为使用空格进行缩进不是一个好主意(Android Studio 以某种方式认为它确实如此),其次即使我告诉它使用制表符它总是以两个制表符开头在新行上,而不是一个,把这个:

getSupportFragmentManager().beginTransaction().commit();

进入这个:

getSupportFragmentManager()
            .beginTransaction()
            .commit();

为什么有两个标签?我知道你可以将它设置为一个选项卡或任何你想要的“继续缩进”,但不能真正理解这一点,有没有人使用两个选项卡而不是一个选项卡?它背后的想法是什么?为什么默认有两个选项卡?

最佳答案

为了可读性,我只能假设连续方法调用在某种程度上更接近链中的第一个方法。变量/字段/方法名称一般都在8个字符以上;他们很少在 4 个字符左右。使用构建器模式编写时,一般将第一个方法放在第一行,后面的方法应该大致放在下面。

例如这个:

foobarbaz.builder()
        .foo()
        .bar()
        .baz()
        .build();

而不是这个:

foobarbaz.builder()
    .foo()
    .bar()
    .baz()
    .build();

在这种情况下,更明显的是第一种情况下方法是相互堆叠的。

显然,可读性取决于第一行中方法/变量名称的长度。但我认为 JetBrains 只是试图猜测典型长度并相应地设置连续缩进。

https://stackoverflow.com/questions/37194779/

相关文章:

android - 相同的 ImageButtons 消耗大量内存

java - 重置运行时权限

r - 如何在 Jupyter 中启用 R 语法高亮显示?

algorithm - 跳跃点搜索 : mix between Normal and Orthogo

android - 交错 GridView 中的可点击 TextView

pycharm - 如何在不执行 "Nosetests"的情况下在 Pycharm 中实际调试或运行

Javafx pickOnBounds 设置因 SplitPane 而失败 - 无法通过透明的 Sp

google-apps-script - 如何更新谷歌可视化仪表板的底层谷歌数据表并刷新仪表板 Vi

azure - 为什么我无法删除空的应用服务计划?

android - 从 Custom Content Provider 访问数据