2011-08-13 18 views
7

Estoy trabajando en un módulo de herramientas de contraseñas, y parte de él está usando codificación/decodificación base64. Como resultado, tengo una serie de variables que incluyen el término 'base64' por razones obvias. El problema es que cuando ejecuto la herramienta PHP_CodeSniffer, arroja advertencias: "Variable" ... 64 "contiene números, pero esto se desaconseja".Ignorar advertencias específicas con PHP_CodeSniffer

¿Hay alguna manera de decirle a PHP_CodeSniffer que ignore estas advertencias para este archivo específico? Estoy seguro de que hay una buena razón para evitar los números, pero en este caso prefiero usar 'base 64' de 'baseSixtyFour' ...

Así es como estoy corriendo PHP_CodeSniffer:

[email protected]:~/workspace/library$ phpcs --standard=ZEND ./Tools/ 

FILE: /home/valorin/workspace/library/Tools/Password.php 
-------------------------------------------------------------------------------- 
FOUND 0 ERROR(S) AND 6 WARNING(S) AFFECTING 5 LINE(S) 
-------------------------------------------------------------------------------- 
    38 | WARNING | Variable "_bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
    94 | WARNING | Variable "_bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
    94 | WARNING | Variable "base64" contains numbers but this is discouraged 
    95 | WARNING | Variable "base64" contains numbers but this is discouraged 
210 | WARNING | Variable "bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
251 | WARNING | Variable "bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
-------------------------------------------------------------------------------- 

Time: 1 second, Memory: 7.50Mb 

Respuesta

4

Use etiquetas de comentario: supresión

// @codingStandardsIgnoreStart 

/* put your bad code here! */  

// @codingStandardsIgnoreEnd 

Esto requiere la versión 1.2 o posterior.

+4

El problema es que necesito ponerlos en cada uso de las variables (lo cual es frecuente), así que es una solución bastante complicada ... –

4

En CodeSniffer versión 1.3 puede exclude specific sniffs from specific files en el nivel del archivo ruleset.xml.

+0

Solución mucho mejor ya que no contaminarás tu código fuente con olfateando la directiva. De hecho, puede especificar un solo mensaje de error. –

+0

Sí, pero ¿cómo se da el nombre de un solo mensaje de error? Incluso miré dentro de uno de ellos, no pude entenderlo. (ScopeClosingBraceSniff.php) –

+0

@AmigableClarkKant - En realidad, no he usado la lógica de exclusión de mensajes específica (solo excluyo en el nivel de la inhalación), pero mirando ScopeClosingBraceSniff.php veo las siguientes líneas: $ phpcsFile-> addError ($ error, $ scopeEnd, 'ContentBefore'); y $ phpcsFile-> addError ($ error, $ scopeEnd, 'Indent', $ data) ;, lo que me imagino se especificaría a través de ref = "Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore" y ref = "Squiz.WhiteSpace.ScopeClosingBrace .Indent ", respectivamente. – Peter

Cuestiones relacionadas