包装声明
-
源代码和注释一般不应超过每行 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 :与链接表达式中的先前方法调用对齐。