包装声明

  • 源代码和注释一般不应超过每行 80 个字符,每行最多不超过 100 个字符,包括缩进。

    必须根据具体情况判断字符限制。真正重要的是线条的语义密度和可读性。无线长线使他们难以阅读; 类似地,进行英雄尝试以使它们适合 80 列也可能使它们难以阅读。此处概述的灵活性旨在使开发人员能够避免这些极端情况,而不是最大限度地利用监控房地产。

  • 不应包装 URL 或示例命令。

// Ok even though it might exceed max line width when indented.
Error e = isTypeParam
        ? Errors.InvalidRepeatableAnnotationNotApplicable(targetContainerType, on)
        : Errors.InvalidRepeatableAnnotationNotApplicableInContext(targetContainerType));

// Wrapping preferable
String pretty = Stream.of(args)
                      .map(Argument::prettyPrint)
                      .collectors(joining(", "));

// Too strict interpretation of max line width. Readability suffers.
Error e = isTypeParam
        ? Errors.InvalidRepeatableAnnotationNotApplicable(
                targetContainerType, on)
        : Errors.InvalidRepeatableAnnotationNotApplicableInContext(
                targetContainerType);

// Should be wrapped even though it fits within the character limit
String pretty = Stream.of(args).map(Argument::prettyPrint).collectors(joining(", "));
  • 在较低的句法水平上包装比在较高的句法水平上包装更受欢迎。

  • 每行最多应有 1 个语句。

  • 延续线应采用以下四种方式之一缩进

    • 变体 1 :相对于前一行的缩进有 8 个额外空格。
    • 变体 2 :相对于包装表达式的起始列有 8 个额外空格。
    • 变体 3 :与先前的兄弟表达式一致(只要它是一个延续线)
    • 变体 4 :与链接表达式中的先前方法调用对齐。