我使用Eclipse的CheckStyle插件,它做得非常好.我想知道Sun/Oracle是否有正式的Code/Style标准(并且应该有!)...我发现它们已经过时了,它们甚至不包含任何Java 1.6特定的语法等...
这是我到目前为止发现的:
http://developers.sun.com/sunstudio/products/archive/whitepapers/java-style.pdf(最后修改2000)
http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html (最后修改1999年 - CheckStyle网站引用此内容)
我知道,在某种程度上,大多数Java语法没有太大变化,但你认为它不会超过10年!任何想法在哪里可以找到更新版本,或者是否有任何我没有找到的?
谢谢
Eclipse Checkstyle插件提供了两种自动更正问题的方法:
右键单击单个源文件,然后选择"应用Checkstyle更正".
右键单击问题标记,然后选择"快速修复".
如果我选择多个相同类型的标记并尝试快速修复所有标记,则Eclipse指出:
所选问题没有常见的适用快速修复方法.
有没有办法让我以更有效的方式执行相同类型的多个Checkstyle修正?
(参见相关问题:如何轻松修复Checkstyle错误?)
举个例子,考虑以下代码:
/**
* Example to demonstrate check-style quick fix.
*/
public final class CheckStyle {
/**
* Example constructor with no if braces.
*
* @param arg an argument
*/
public CheckStyle(final String arg) {
if (arg == null)
throw new RuntimeException("Arg is null.");
if (arg.isEmpty())
throw new RuntimeException("Arg is empty.");
}
}
Run Code Online (Sandbox Code Playgroud)
根据Sun的checkstyle配置检查时,会收到三个错误:

如果我选择与缺少大括号相关的两个错误并尝试快速修复它们,那么它将无法工作.
我有一个看起来像这样的课程:
public final class OrderedSetList<T extends Comparable<? super T>> implements OrderedSet<T> {
// Constructor definition in wrong order checkstyle error next line
public OrderedSetList() {
// Initializations
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我为什么在我的构造函数中有一个"错误顺序的构造函数定义"错误?
这是一项任务,我们有自己的checkstyle配置,不允许任何checkstyle错误.
我感谢你的帮助.
我想使用Maven Checkstyle插件,其自定义配置告诉Checkstyle不会在丢失Javadoc时发出警告或错误.有没有办法做到这一点?
我想自定义Checkstyle JavadocVariable规则,以便它不会抱怨带有@FindBy注释的字段.
class Demo{
@FindBy(id = "new-button")
public WebElement createButton; //<- no JavaDoc required because it is a field "injected" by selenium
public String otherField; //<- complain about missing Java doc
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在checkstyle.xml文件中指定它.有人有想法吗?
在这个用例中不起作用的事情:
SuppressWithNearbyCommentFilter 不起作用,因为它是注释而不是注释PMD有一种方法可以忽略//NOPMDJava源文件中的注释特定警告.
Checkstyle有类似的选择吗?
我正在寻找像Checkstyle for JavaScript一样的东西.我知道JSLint并且我已经在使用Google的Closure编译器,但这些主要是检查语法问题.Checkstyle可以检查错误行上的大括号,但它也可以编写自定义检查,如不使用HashMap.
我正在为即将到来的JavaScript项目寻找类似的东西.有任何想法吗?
我有一个maven checkstyle插件的xml配置文件.我已经安装了Intellij Idea插件并查看所有checkstyle违规.有没有办法自动修复大部分?例如自动格式设置?有没有办法从checktyle配置文件设置Intellij Idea到autoformat?
我使用Android Studio创建了一个Android项目.在build.gradle应用程序添加:
apply from: '../config/quality.gradle'
Run Code Online (Sandbox Code Playgroud)
然后我config用两个文件创建目录:quality.gradle如:
apply plugin: 'checkstyle'
task checkstyle(type: Checkstyle) {
configFile file("${project.rootDir}/config/checkstyle.xml")
source 'src'
include '**/*.java'
exclude '**/gen/**'
classpath = files()
}
Run Code Online (Sandbox Code Playgroud)
并checkstyle.xml喜欢:
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<module name="NeedBraces">
<property name="tokens" value="LITERAL_CASE, LITERAL_DEFAULT"/>
<property name="allowSingleLineStatement" value="true"/>
</module>
</module>
</module>
Run Code Online (Sandbox Code Playgroud)
跑步gradle checkstyle给我以下错误:
Executing external task 'checkstyle'...
:app:checkstyle FAILED
FAILURE: Build failed with an exception.
* What went …Run Code Online (Sandbox Code Playgroud) 我想在我的gradle项目中使用checkstyle插件,gradle文档说它将添加一些任务:https://docs.gradle.org/current/userguide/checkstyle_plugin.html
checkstyleMain, checkstyleTest, checkstyleSourceSet
Run Code Online (Sandbox Code Playgroud)
我将此添加到我的app build.gradle文件中:
apply plugin: 'checkstyle'
Run Code Online (Sandbox Code Playgroud)
我想从cmd运行gradle任务来执行代码样式检查,但是没有一个checkstyle任务.我输入以下内容检查了整个列表:
./gradlew tasks
Run Code Online (Sandbox Code Playgroud)
我还尝试将checkstyle jar作为库依赖添加到app模块.任何人都可以告诉我我做错了什么,我怎么能得到我的checkstyle任务?
checkstyle ×10
java ×5
gradle ×2
maven ×2
android ×1
coding-style ×1
eclipse ×1
javascript ×1
jslint ×1
plugins ×1
refactoring ×1
standards ×1