关于 checkstyle 的小贴士
Tips about checkstyle
我是 CheckStyle 的新手,在某些情况下我没有任何好主意。
示例 1
void loadThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri);
如您所见,该方法的长度太长了long.So 我使用:
<module name="LineLength">
<property name="max" value="100"/>
</module>
<module name="MethodLength">
<property name="max" value="140"/>
</module>
似乎 MethodLength
被 LineLength
覆盖了
示例 2
当我将 link 放入评论中时,例如:
很明显这个link太long.How我可以处理吗?
如果您使用的是像 eclipse 这样的 IDE,您可以使用格式化来帮助您换行。满足CheckStyle行长。
MethodLength CheckStyle 要求您查看方法并将其重构为更小的方法,这些方法只有一个任务要执行。
很高兴您正在研究 Checkstyle!它是完成许多任务的好工具,尽管远非完美,而且绝不是万能的解决方案。
关于 LineLength and MethodLength 检查:这些实际上检查两个非常不同的东西:
- LineLength 检查文件中一行文本的实际长度
- MethodLength 检查方法中的行数(是的,行数,不是语句,这就是 ExecutableStatementCount 的用途)
所以您通常会同时启用 LineLength 和 MethodLength(或 ExecutableStatementCount,我优于 MethodLength).
LineLength 必须配置为处理无法缩短的长行,例如您的 link 示例。 Checkstyle 的最新版本默认处理 package
和 import
语句。该支票还具有一个 ignorePattern
功能,您可以设置它来过滤掉其他长行。文档给出了这个例子:
<module name="LineLength">
<property name="ignorePattern" value="^ *\* *[^ ]+$"/>
</module>
在此示例中,Javadoc 仅包含一个单词的行(此处表示除了星号之后没有空格),无论其长度如何都不会被标记。这样,你应该可以覆盖你的大部分情况了。
我是 CheckStyle 的新手,在某些情况下我没有任何好主意。
示例 1
void loadThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri);
如您所见,该方法的长度太长了long.So 我使用:
<module name="LineLength">
<property name="max" value="100"/>
</module>
<module name="MethodLength">
<property name="max" value="140"/>
</module>
似乎 MethodLength
被 LineLength
示例 2
当我将 link 放入评论中时,例如:
很明显这个link太long.How我可以处理吗?
如果您使用的是像 eclipse 这样的 IDE,您可以使用格式化来帮助您换行。满足CheckStyle行长。
MethodLength CheckStyle 要求您查看方法并将其重构为更小的方法,这些方法只有一个任务要执行。
很高兴您正在研究 Checkstyle!它是完成许多任务的好工具,尽管远非完美,而且绝不是万能的解决方案。
关于 LineLength and MethodLength 检查:这些实际上检查两个非常不同的东西:
- LineLength 检查文件中一行文本的实际长度
- MethodLength 检查方法中的行数(是的,行数,不是语句,这就是 ExecutableStatementCount 的用途)
所以您通常会同时启用 LineLength 和 MethodLength(或 ExecutableStatementCount,我优于 MethodLength).
LineLength 必须配置为处理无法缩短的长行,例如您的 link 示例。 Checkstyle 的最新版本默认处理 package
和 import
语句。该支票还具有一个 ignorePattern
功能,您可以设置它来过滤掉其他长行。文档给出了这个例子:
<module name="LineLength">
<property name="ignorePattern" value="^ *\* *[^ ]+$"/>
</module>
在此示例中,Javadoc 仅包含一个单词的行(此处表示除了星号之后没有空格),无论其长度如何都不会被标记。这样,你应该可以覆盖你的大部分情况了。