Mira la utilización de la supressionCommentFilter en http://checkstyle.sourceforge.net/config_filters.html#SuppressionCommentFilter. Necesitará agregar el módulo a su checkstyle.xml
<module name="SuppressionCommentFilter"/>
y es configurable. Por lo tanto, puede agregar comentarios a su código para desactivar el estilo de control (en varios niveles) y luego volver a encenderlo mediante el uso de comentarios en su código. P.ej.
//CHECKSTYLE:OFF
public void someMethod(String arg1, String arg2, String arg3, String arg4) {
//CHECKSTYLE:ON
O mejor aún, utilizar esta versión más retocada:
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
<property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
<property name="checkFormat" value="$1"/>
</module>
que le permite desactivar los controles específicos para las líneas específicas de código:
//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
catch (Exception e)
//CHECKSTYLE.ON: IllegalCatch
Véase también
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions.xml"/>
</module>
debajo del Sección SuppressionFilter en la misma página, que le permite desactivar las comprobaciones individuales de los recursos de patrones combinados.
lo tanto, si usted tiene en su checkstyle.xml:
<module name="ParameterNumber">
<property name="id" value="maxParameterNumber"/>
<property name="max" value="3"/>
<property name="tokens" value="METHOD_DEF"/>
</module>
Usted puede apagarlo en el archivo XML con la supresión:
<suppress id="maxParameterNumber" files="YourCode.java"/>
Otro método, ahora disponible en Checkstyle 5.7 es para suprimir violaciones a través de la anotación Java @SuppressWarnigns
. Para ello, tendrá que nuevos módulos (SuppressWarningsFilter y SuppressWarningsHolder) en el archivo de configuración:
<module name="Checker">
...
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
...
<module name="SuppressWarningsHolder" />
</module>
</module>
Luego, dentro de su código, puede hacer lo siguiente:
@SuppressWarnings("checkstyle:methodlength")
public void someLongMethod() throws Exception {
o, para múltiples supresiones :
@SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})
public void someLongMethod() throws Exception {
NB: el "checkstyle:
" prefijo es opcional (pero recomendado) y el parámetro de nombre tiene que estar en minúsculas.
recuerde agregar FileContentsHolder en el TreeWalter . Ver http://stackoverflow.com/a/5764666/480483 – djjeck
si usa '//CHECKSTYLE.OFF:' y luego olvida volver a activarlo, solo se marcará en el archivo que contenga '// CHECKSTYLE. OFF: '¿o todos los archivos procesados posteriormente también? – Roland
@Roland, permanece desactivado solo durante la clase de prueba. –