2012-04-13 21 views
29

Estoy usando pydev donde configuré pylint. El problema es que incluso dentro de los comentarios, la pildora informa advertencias. Estaba buscando desactivar cualquier tipo de comprobación dentro de cualquier línea o comentario en bloque. Además, deseo seguir la convención de nombres de camelCase en lugar de subrayar las variables y argumentos en mi código. ¿Hay alguna manera de especificar tal regla sin insertar mi código con cualquier pylint: deshabilitar comentarios?¿Se puede personalizar la verificación de errores de Pylint?

+2

Por favor, no use camelCase. –

+4

Si bien tu comentario está justificado, estuve con un equipo de desarrolladores principalmente de Java y para mejorar su mantenibilidad/aceptación, tuve que desviarme del código pitónico. –

+0

En algunos casos, la carcasa de camello está justificada. Por ejemplo, cuando se usa PySide o PyQt. Sería horrible mezclar el estuche de camello Qt-ish con el estilo de subrayado Python. –

Respuesta

38

Puede desactivar globalmente advertencias de una cierta clase utilizando

pylint --disable=W1234 

o utilizando un archivo de configuración especial pylint

pylint --rcfile=/path/to/config.file 

Un ejemplo del archivo de configuración es el siguiente:

[MESSAGES CONTROL] 
# C0111 Missing docstring 
# I0011 Warning locally suppressed using disable-msg 
# I0012 Warning locally suppressed using disable-msg 
# W0704 Except doesn't do anything Used when an except clause does nothing but "pass" and there is no "else" clause 
# W0142 Used * or * magic* Used when a function or method is called using *args or **kwargs to dispatch arguments. 
# W0212 Access to a protected member %s of a client class 
# W0232 Class has no __init__ method Used when a class has no __init__ method, neither its parent classes. 
# W0613 Unused argument %r Used when a function or method argument is not used. 
# W0702 No exception's type specified Used when an except clause doesn't specify exceptions type to catch. 
# R0201 Method could be a function 
# W0614 Unused import XYZ from wildcard import 
# R0914 Too many local variables 
# R0912 Too many branches 
# R0915 Too many statements 
# R0913 Too many arguments 
# R0904 Too many public methods 
disable=C0111,I0011,I0012,W0704,W0142,W0212,W0232,W0613,W0702,R0201,W0614,R0914,R0912,R0915,R0913,R0904,R0801 

Consulte la documentación en http://www.logilab.org/4736

Pylint tiene un sitio dedicado ahora: http://www.pylint.org/ y documentación actualizada: http://docs.pylint.org/.

+0

Buena respuesta, pero hay más. Vea mi respuesta si desea un control preciso de la pildora en múltiples proyectos y escenarios más complejos. http://stackoverflow.com/a/32672068/763269 –

+1

Intenté 'pylint --disable = C0111' en el terminal y obtuve' Usage: pylint [options] module_or_package'. ¿Me he perdido algo? –

18

Como dice cfedermann, puede especificar que los mensajes se deshabiliten en un archivo ~/.pylintrc (observe que puede generar un archivo de resguardo usando "pylint --generate-rcfile" si no desea usar comentarios en línea

También verá en el archivo generado, en la sección [BÁSICA], opciones como "method-rgx", "function-rgx", etc. que puede configurar como desee para apoyar el estilo camel case en lugar de PEP8 subrayan el estilo.

3

Aunque esta es una vieja cuestión, cabe mencionar ahora se puede especificar su own regex for matching with names.

Entonces su expresión regular para que coincida con la carcasa de camello sería algo así como:

[a-z][a-zA-Z0-9]{2,30}$ 
Cuestiones relacionadas