Se describe el concepto detrás del análisis estático del código, se indican los pasos a seguir para la detección de errores mediante la herramienta Pylint, se exponen sus funcionalidades, reportes y se muestran ejemplos para corregir los errores encontrados por la herramienta.
Cuando se habla de fuentes del derecho, se hace referencia a todas aquellas reglas que integran el marco normativo, que imponen conductas positivas o negativas a los habitantes de un estado, es decir, a aquello de donde el Derecho surge o nace.
Cuando se habla de fuentes del derecho, se hace referencia a todas aquellas reglas que integran el marco normativo, que imponen conductas positivas o negativas a los habitantes de un estado, es decir, a aquello de donde el Derecho surge o nace.
HPE presenta una competició destinada a estudiants, que busca fomentar habilitats tecnològiques i promoure la innovació en un entorn STEAM (Ciència, Tecnologia, Enginyeria, Arts i Matemàtiques). A través de diverses fases, els equips han de resoldre reptes mensuals basats en àrees com algorísmica, desenvolupament de programari, infraestructures tecnològiques, intel·ligència artificial i altres tecnologies. Els millors equips tenen l'oportunitat de desenvolupar un projecte més gran en una fase presencial final, on han de crear una solució concreta per a un conflicte real relacionat amb la sostenibilitat. Aquesta competició promou la inclusió, la sostenibilitat i l'accessibilitat tecnològica, alineant-se amb els Objectius de Desenvolupament Sostenible de l'ONU.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaAMADO SALVADOR
Distribuidor Oficial Ariston en Valencia: Amado Salvador distribuidor autorizado de Ariston, una marca líder en soluciones de calefacción y agua caliente sanitaria. Amado Salvador pone a tu disposición el catálogo completo de Ariston, encontrarás una amplia gama de productos diseñados para satisfacer las necesidades de hogares y empresas.
Calderas de condensación: Ofrecemos calderas de alta eficiencia energética que aprovechan al máximo el calor residual. Estas calderas Ariston son ideales para reducir el consumo de gas y minimizar las emisiones de CO2.
Bombas de calor: Las bombas de calor Ariston son una opción sostenible para la producción de agua caliente. Utilizan energía renovable del aire o el suelo para calentar el agua, lo que las convierte en una alternativa ecológica.
Termos eléctricos: Los termos eléctricos, como el modelo VELIS TECH DRY (sustito de los modelos Duo de Fleck), ofrecen diseño moderno y conectividad WIFI. Son ideales para hogares donde se necesita agua caliente de forma rápida y eficiente.
Aerotermia: Si buscas una solución aún más sostenible, considera la aerotermia. Esta tecnología extrae energía del aire exterior para calentar tu hogar y agua. Además, puede ser elegible para subvenciones locales.
Amado Salvador es el distribuidor oficial de Ariston en Valencia. Explora el catálogo y descubre cómo mejorar la comodidad y la eficiencia en tu hogar o negocio.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
Pylint: Análisis estático del código fuente en Python
1. Análisis estático del código fuente en Python
Análisis estático del código fuente en Python
Pylint
Milton Mazzarri
<milmazz@gmail.com>
Marzo, 2010
2. Análisis estático del código fuente en Python
Contenido I
1 Conceptos
Análisis estático de código
Pylint
2 Consideraciones
Labores de revisión manual
Falsos positivos
3 Revisiones
Básicas
Variables
Clases
Diseño
Importaciones
Conflictos de estilos
Formato
3. Análisis estático del código fuente en Python
Contenido II
Otras revisiones
4 Reportes
5 Puntuación
6 Proceso de corrección
Instalación
Ejecución
Conociendo el detalle del error
Primer avance
Segundo avance
4. Análisis estático del código fuente en Python
Conceptos
Análisis estático de código
¿Análisis estático de código?
Definición
El análisis estático del código se refiere al proceso de
evaluación del código fuente sin ejecutarlo, en base a este
análisis se obtendrá información que nos permita mejorar la
línea base de nuestro proyecto, sin alterar la semántica original
de la aplicación.
5. Análisis estático del código fuente en Python
Conceptos
Pylint
¿Qué es Pylint?
Definición
Su misión es analizar código en Python en busca de errores o
síntomas de mala calidad en el código fuente. Cabe destacar
que por omisión, la guía de estilo a la que se trata de apegar
Pylint es la descrita en el PEP-8.
6. Análisis estático del código fuente en Python
Consideraciones
Labores de revisión manual
Labores de revisión manual
Pylint no sustituye las labores de revisión continua de alto
nivel:
Estructura.
Arquitectura.
Comunicación con elementos externos como bibliotecas.
Diseño.
7. Análisis estático del código fuente en Python
Consideraciones
Labores de revisión manual
Labores de revisión manual
Pylint no sustituye las labores de revisión continua de alto
nivel:
Estructura.
Arquitectura.
Comunicación con elementos externos como bibliotecas.
Diseño.
8. Análisis estático del código fuente en Python
Consideraciones
Labores de revisión manual
Labores de revisión manual
Pylint no sustituye las labores de revisión continua de alto
nivel:
Estructura.
Arquitectura.
Comunicación con elementos externos como bibliotecas.
Diseño.
9. Análisis estático del código fuente en Python
Consideraciones
Labores de revisión manual
Labores de revisión manual
Pylint no sustituye las labores de revisión continua de alto
nivel:
Estructura.
Arquitectura.
Comunicación con elementos externos como bibliotecas.
Diseño.
10. Análisis estático del código fuente en Python
Consideraciones
Labores de revisión manual
Labores de revisión manual
Pylint no sustituye las labores de revisión continua de alto
nivel:
Estructura.
Arquitectura.
Comunicación con elementos externos como bibliotecas.
Diseño.
11. Análisis estático del código fuente en Python
Consideraciones
Falsos positivos
Falsos positivos
Pylint puede arrojar falsos positivos
Puede entenderse al recibir una alerta de algún cambio
que usted realizó conscientemente.
Algunas de las advertencias encontradas pueden ser
peligrosas en algunos contextos, pero en otros puede no
aplicar.
Se hacen revisiones de declaraciones que a usted
realmente no le importan.
Informe al revisor para ajustar la configuración de Pylint
para no ser informado acerca de ciertos tipos de
advertencias o errores.
12. Análisis estático del código fuente en Python
Consideraciones
Falsos positivos
Falsos positivos
Pylint puede arrojar falsos positivos
Puede entenderse al recibir una alerta de algún cambio
que usted realizó conscientemente.
Algunas de las advertencias encontradas pueden ser
peligrosas en algunos contextos, pero en otros puede no
aplicar.
Se hacen revisiones de declaraciones que a usted
realmente no le importan.
Informe al revisor para ajustar la configuración de Pylint
para no ser informado acerca de ciertos tipos de
advertencias o errores.
13. Análisis estático del código fuente en Python
Consideraciones
Falsos positivos
Falsos positivos
Pylint puede arrojar falsos positivos
Puede entenderse al recibir una alerta de algún cambio
que usted realizó conscientemente.
Algunas de las advertencias encontradas pueden ser
peligrosas en algunos contextos, pero en otros puede no
aplicar.
Se hacen revisiones de declaraciones que a usted
realmente no le importan.
Informe al revisor para ajustar la configuración de Pylint
para no ser informado acerca de ciertos tipos de
advertencias o errores.
14. Análisis estático del código fuente en Python
Consideraciones
Falsos positivos
Falsos positivos
Pylint puede arrojar falsos positivos
Puede entenderse al recibir una alerta de algún cambio
que usted realizó conscientemente.
Algunas de las advertencias encontradas pueden ser
peligrosas en algunos contextos, pero en otros puede no
aplicar.
Se hacen revisiones de declaraciones que a usted
realmente no le importan.
Informe al revisor para ajustar la configuración de Pylint
para no ser informado acerca de ciertos tipos de
advertencias o errores.
15. Análisis estático del código fuente en Python
Consideraciones
Falsos positivos
Falsos positivos
Pylint puede arrojar falsos positivos
Puede entenderse al recibir una alerta de algún cambio
que usted realizó conscientemente.
Algunas de las advertencias encontradas pueden ser
peligrosas en algunos contextos, pero en otros puede no
aplicar.
Se hacen revisiones de declaraciones que a usted
realmente no le importan.
Informe al revisor para ajustar la configuración de Pylint
para no ser informado acerca de ciertos tipos de
advertencias o errores.
16. Análisis estático del código fuente en Python
Revisiones
Básicas
Revisiones básicas
Presencia de cadenas de documentación (docstring).
Nombres de módulos, clases, funciones, métodos,
argumentos, variables.
Número de argumentos, variables locales, retornos y
sentencias en funciones y métodos.
Atributos requeridos para módulos.
Valores por omisión no recomendados como argumentos.
Redefinición de funciones, métodos, clases.
Uso de declaraciones globales.
17. Análisis estático del código fuente en Python
Revisiones
Básicas
Revisiones básicas
Presencia de cadenas de documentación (docstring).
Nombres de módulos, clases, funciones, métodos,
argumentos, variables.
Número de argumentos, variables locales, retornos y
sentencias en funciones y métodos.
Atributos requeridos para módulos.
Valores por omisión no recomendados como argumentos.
Redefinición de funciones, métodos, clases.
Uso de declaraciones globales.
18. Análisis estático del código fuente en Python
Revisiones
Básicas
Revisiones básicas
Presencia de cadenas de documentación (docstring).
Nombres de módulos, clases, funciones, métodos,
argumentos, variables.
Número de argumentos, variables locales, retornos y
sentencias en funciones y métodos.
Atributos requeridos para módulos.
Valores por omisión no recomendados como argumentos.
Redefinición de funciones, métodos, clases.
Uso de declaraciones globales.
19. Análisis estático del código fuente en Python
Revisiones
Básicas
Revisiones básicas
Presencia de cadenas de documentación (docstring).
Nombres de módulos, clases, funciones, métodos,
argumentos, variables.
Número de argumentos, variables locales, retornos y
sentencias en funciones y métodos.
Atributos requeridos para módulos.
Valores por omisión no recomendados como argumentos.
Redefinición de funciones, métodos, clases.
Uso de declaraciones globales.
20. Análisis estático del código fuente en Python
Revisiones
Básicas
Revisiones básicas
Presencia de cadenas de documentación (docstring).
Nombres de módulos, clases, funciones, métodos,
argumentos, variables.
Número de argumentos, variables locales, retornos y
sentencias en funciones y métodos.
Atributos requeridos para módulos.
Valores por omisión no recomendados como argumentos.
Redefinición de funciones, métodos, clases.
Uso de declaraciones globales.
21. Análisis estático del código fuente en Python
Revisiones
Básicas
Revisiones básicas
Presencia de cadenas de documentación (docstring).
Nombres de módulos, clases, funciones, métodos,
argumentos, variables.
Número de argumentos, variables locales, retornos y
sentencias en funciones y métodos.
Atributos requeridos para módulos.
Valores por omisión no recomendados como argumentos.
Redefinición de funciones, métodos, clases.
Uso de declaraciones globales.
22. Análisis estático del código fuente en Python
Revisiones
Básicas
Revisiones básicas
Presencia de cadenas de documentación (docstring).
Nombres de módulos, clases, funciones, métodos,
argumentos, variables.
Número de argumentos, variables locales, retornos y
sentencias en funciones y métodos.
Atributos requeridos para módulos.
Valores por omisión no recomendados como argumentos.
Redefinición de funciones, métodos, clases.
Uso de declaraciones globales.
23. Análisis estático del código fuente en Python
Revisiones
Variables
Revisión de variables
Determina si una variable o import no está siendo usado.
Variables indefinidas.
Redefinición de variables proveniente de módulos builtins
o de ámbito externo.
Uso de una variable antes de asignación de valor.
24. Análisis estático del código fuente en Python
Revisiones
Variables
Revisión de variables
Determina si una variable o import no está siendo usado.
Variables indefinidas.
Redefinición de variables proveniente de módulos builtins
o de ámbito externo.
Uso de una variable antes de asignación de valor.
25. Análisis estático del código fuente en Python
Revisiones
Variables
Revisión de variables
Determina si una variable o import no está siendo usado.
Variables indefinidas.
Redefinición de variables proveniente de módulos builtins
o de ámbito externo.
Uso de una variable antes de asignación de valor.
26. Análisis estático del código fuente en Python
Revisiones
Variables
Revisión de variables
Determina si una variable o import no está siendo usado.
Variables indefinidas.
Redefinición de variables proveniente de módulos builtins
o de ámbito externo.
Uso de una variable antes de asignación de valor.
27. Análisis estático del código fuente en Python
Revisiones
Clases
Revisión de clases
Métodos sin self como primer argumento.
Acceso único a miembros existentes vía self
Atributos no definidos en el método __init__
Código inalcanzable.
28. Análisis estático del código fuente en Python
Revisiones
Clases
Revisión de clases
Métodos sin self como primer argumento.
Acceso único a miembros existentes vía self
Atributos no definidos en el método __init__
Código inalcanzable.
29. Análisis estático del código fuente en Python
Revisiones
Clases
Revisión de clases
Métodos sin self como primer argumento.
Acceso único a miembros existentes vía self
Atributos no definidos en el método __init__
Código inalcanzable.
30. Análisis estático del código fuente en Python
Revisiones
Clases
Revisión de clases
Métodos sin self como primer argumento.
Acceso único a miembros existentes vía self
Atributos no definidos en el método __init__
Código inalcanzable.
31. Análisis estático del código fuente en Python
Revisiones
Diseño
Revisión de diseño
Número de métodos, atributos, variables locales, . . .
Tamaño, complejidad de funciones, métodos, . . .
32. Análisis estático del código fuente en Python
Revisiones
Diseño
Revisión de diseño
Número de métodos, atributos, variables locales, . . .
Tamaño, complejidad de funciones, métodos, . . .
33. Análisis estático del código fuente en Python
Revisiones
Importaciones
Revisión de importaciones
Dependencias externas.
imports relativos o importe de todos los métodos, variables
vía * (wildcard).
Uso de imports cíclicos.
Uso de módulos obsoletos.
34. Análisis estático del código fuente en Python
Revisiones
Importaciones
Revisión de importaciones
Dependencias externas.
imports relativos o importe de todos los métodos, variables
vía * (wildcard).
Uso de imports cíclicos.
Uso de módulos obsoletos.
35. Análisis estático del código fuente en Python
Revisiones
Importaciones
Revisión de importaciones
Dependencias externas.
imports relativos o importe de todos los métodos, variables
vía * (wildcard).
Uso de imports cíclicos.
Uso de módulos obsoletos.
36. Análisis estático del código fuente en Python
Revisiones
Importaciones
Revisión de importaciones
Dependencias externas.
imports relativos o importe de todos los métodos, variables
vía * (wildcard).
Uso de imports cíclicos.
Uso de módulos obsoletos.
37. Análisis estático del código fuente en Python
Revisiones
Conflictos de estilos
Conflictos entre viejo/nuevo estilo
Uso de property, __slots__, super.
Uso de super.
38. Análisis estático del código fuente en Python
Revisiones
Conflictos de estilos
Conflictos entre viejo/nuevo estilo
Uso de property, __slots__, super.
Uso de super.
39. Análisis estático del código fuente en Python
Revisiones
Formato
Revisiones de formato
Construcciones no autorizadas
Sangrado estricto del código
Longitud de la línea
Uso de <> en vez de !=
40. Análisis estático del código fuente en Python
Revisiones
Formato
Revisiones de formato
Construcciones no autorizadas
Sangrado estricto del código
Longitud de la línea
Uso de <> en vez de !=
41. Análisis estático del código fuente en Python
Revisiones
Formato
Revisiones de formato
Construcciones no autorizadas
Sangrado estricto del código
Longitud de la línea
Uso de <> en vez de !=
42. Análisis estático del código fuente en Python
Revisiones
Formato
Revisiones de formato
Construcciones no autorizadas
Sangrado estricto del código
Longitud de la línea
Uso de <> en vez de !=
43. Análisis estático del código fuente en Python
Revisiones
Otras revisiones
Otras revisiones
Notas de alerta en el código como FIXME, XXX.
Código fuente con caracteres non-ASCII sin tener una
declaración de encoding. PEP-263
Búsqueda por similitudes o duplicación en el código
fuente.
Revisión de excepciones.
Revisiones de tipo haciendo uso de inferencia de tipos.
44. Análisis estático del código fuente en Python
Revisiones
Otras revisiones
Otras revisiones
Notas de alerta en el código como FIXME, XXX.
Código fuente con caracteres non-ASCII sin tener una
declaración de encoding. PEP-263
Búsqueda por similitudes o duplicación en el código
fuente.
Revisión de excepciones.
Revisiones de tipo haciendo uso de inferencia de tipos.
45. Análisis estático del código fuente en Python
Revisiones
Otras revisiones
Otras revisiones
Notas de alerta en el código como FIXME, XXX.
Código fuente con caracteres non-ASCII sin tener una
declaración de encoding. PEP-263
Búsqueda por similitudes o duplicación en el código
fuente.
Revisión de excepciones.
Revisiones de tipo haciendo uso de inferencia de tipos.
46. Análisis estático del código fuente en Python
Revisiones
Otras revisiones
Otras revisiones
Notas de alerta en el código como FIXME, XXX.
Código fuente con caracteres non-ASCII sin tener una
declaración de encoding. PEP-263
Búsqueda por similitudes o duplicación en el código
fuente.
Revisión de excepciones.
Revisiones de tipo haciendo uso de inferencia de tipos.
47. Análisis estático del código fuente en Python
Revisiones
Otras revisiones
Otras revisiones
Notas de alerta en el código como FIXME, XXX.
Código fuente con caracteres non-ASCII sin tener una
declaración de encoding. PEP-263
Búsqueda por similitudes o duplicación en el código
fuente.
Revisión de excepciones.
Revisiones de tipo haciendo uso de inferencia de tipos.
48. Análisis estático del código fuente en Python
Reportes
Reportes
Posterior a los mensajes de análisis mostrados, Pylint
despliega una serie de reportes, cada uno de ellos
enfocándose en un aspecto particular del proyecto, como el
número de mensajes por categorias, dependencias de
módulos, . . .
49. Análisis estático del código fuente en Python
Reportes
Número de módulos procesados
Ejemplo
Report
======
1895 statements analysed.
50. Análisis estático del código fuente en Python
Reportes
Duplicación de código fuente
now previous difference
nb duplicated lines 274 NC NC
percent duplicated lines 5.591 NC NC
51. Análisis estático del código fuente en Python
Reportes
Estadísticas por tipo
type number %documented %badname
module 14 85.71 57.14
class 12 100.00 66.67
method 145 85.52 83.45
function 1 100.00 0.00
53. Análisis estático del código fuente en Python
Reportes
Número de mensajes por categorías
type number previous difference
convention 1655 NC NC
refactor 66 NC NC
warning 28339 NC NC
error 4 NC NC
54. Análisis estático del código fuente en Python
Reportes
Tipos de categorías de los mensajes
Refactorización Violación en alguna buena práctica.
Convención Violación al estándar de codificación.
Advertencia Problemas de estilo o errores de programación
menores.
Error Errores de programación importantes, es probable
que se trate de un bug.
Fatal Errores que no permiten a Pylint avanzar en su
análisis.
55. Análisis estático del código fuente en Python
Reportes
Tipos de categorías de los mensajes
Refactorización Violación en alguna buena práctica.
Convención Violación al estándar de codificación.
Advertencia Problemas de estilo o errores de programación
menores.
Error Errores de programación importantes, es probable
que se trate de un bug.
Fatal Errores que no permiten a Pylint avanzar en su
análisis.
56. Análisis estático del código fuente en Python
Reportes
Tipos de categorías de los mensajes
Refactorización Violación en alguna buena práctica.
Convención Violación al estándar de codificación.
Advertencia Problemas de estilo o errores de programación
menores.
Error Errores de programación importantes, es probable
que se trate de un bug.
Fatal Errores que no permiten a Pylint avanzar en su
análisis.
57. Análisis estático del código fuente en Python
Reportes
Tipos de categorías de los mensajes
Refactorización Violación en alguna buena práctica.
Convención Violación al estándar de codificación.
Advertencia Problemas de estilo o errores de programación
menores.
Error Errores de programación importantes, es probable
que se trate de un bug.
Fatal Errores que no permiten a Pylint avanzar en su
análisis.
58. Análisis estático del código fuente en Python
Reportes
Tipos de categorías de los mensajes
Refactorización Violación en alguna buena práctica.
Convención Violación al estándar de codificación.
Advertencia Problemas de estilo o errores de programación
menores.
Error Errores de programación importantes, es probable
que se trate de un bug.
Fatal Errores que no permiten a Pylint avanzar en su
análisis.
59. Análisis estático del código fuente en Python
Reportes
Formato de salida
El formato de salida del ejemplo utilizado está en modo texto,
usted puede elegir entre:
Coloreado
Texto
MSVS (Visual Studio)
HTML.
60. Análisis estático del código fuente en Python
Reportes
Formato de salida
El formato de salida del ejemplo utilizado está en modo texto,
usted puede elegir entre:
Coloreado
Texto
MSVS (Visual Studio)
HTML.
61. Análisis estático del código fuente en Python
Reportes
Formato de salida
El formato de salida del ejemplo utilizado está en modo texto,
usted puede elegir entre:
Coloreado
Texto
MSVS (Visual Studio)
HTML.
62. Análisis estático del código fuente en Python
Reportes
Formato de salida
El formato de salida del ejemplo utilizado está en modo texto,
usted puede elegir entre:
Coloreado
Texto
MSVS (Visual Studio)
HTML.
63. Análisis estático del código fuente en Python
Reportes
Total de ocurrencias de errores
El reporte ordena los resultados por el id del mensaje.
message id occurences
W0612 11010
W0621 10837
W0614 6169
C0301 1133
C0103 346
W0105 103
C0324 100
64. Análisis estático del código fuente en Python
Puntuación
Puntuación
Si usted ejecuta Pylint varias veces sobre el mismo código,
podrá ver el puntaje de la corrida previa junto al resultado de la
corrida actual, de esta manera puede saber si ha mejorado la
calidad de su código o no.
Ejemplo
Global evaluation
-----------
Your code has been rated at -148.73/10
You have to do something quick !
65. Análisis estático del código fuente en Python
Proceso de corrección
Instalación
Instalación en Debian GNU/Linux
Ejemplo
# aptitude install pylint
$ pylint -version
pylint 0.19.0,
astng 0.19.3, common 0.48.1
Python 2.5.5 (r255:77872, Mar 16 2010, 01:44:35)
[GCC 4.4.3]
66. Análisis estático del código fuente en Python
Proceso de corrección
Ejecución
Ejecución de Pylint
Ejemplo
$ cd montecarlo
$ export PYTHONPATH=$PWD
$ pylint -rcfile=pylintrc -f html -files-output=y scia/tests/
El resumen del reporte lo podrá encontrar en
pylint_global.html.
67. Análisis estático del código fuente en Python
Proceso de corrección
Conociendo el detalle del error
Conozca que produjo el error
Ejemplo
$ pylint -help-msg=W0612
:W0612: *Unused variable %r*
Used when a variable is defined
but not used.
This message belongs to the
variables checker.
68. Análisis estático del código fuente en Python
Proceso de corrección
Conociendo el detalle del error
Se ha encontrado la falla
Ejemplo
# scia.tests.test_main.py
def test_ham(self):
from scia.tests.common import *
cheese = TestSpam(self.main, self.delayKey, ...
cheese.test_spam_method()
69. Análisis estático del código fuente en Python
Proceso de corrección
Conociendo el detalle del error
Se corrige la falla
Ejemplo
# scia.tests.test_main.py
def test_ham(self):
from scia.tests.common import TestSpam
cheese = TestSpam(self.main,
self.delayKey,
self.delayMouse,
self.delayThread,
self.app)
cheese.test_spam_method()
70. Análisis estático del código fuente en Python
Proceso de corrección
Primer avance
Resultado
Ejemplo
Global evaluation
-----------
Your code has been rated at -33.18/10
You have to do something quick !
71. Análisis estático del código fuente en Python
Proceso de corrección
Segundo avance
Segundo avance
Ejemplo
$ pylint -help-msg=W0614
:W0614: *Unused import %s from wildcard import*
Used when an imported module
or variable is not used
from a ’from X import *’
style import.
This message belongs to the
variables checker.
72. Análisis estático del código fuente en Python
Proceso de corrección
Segundo avance
Ejemplo
# Incorrecto
from PyQt4.QtCore import *
# Correcto
from PyQt4.QtCore import QTimer, QPoint, SIGNAL
73. Análisis estático del código fuente en Python
Proceso de corrección
Segundo avance
Enlaces de interés
Pylint: Análisis estático del código en Python
Mensajes en Pylint
Características de Pylint
Tutorial de Pylint
74. Análisis estático del código fuente en Python
Proceso de corrección
Segundo avance
Enlaces de interés
Pylint: Análisis estático del código en Python
Mensajes en Pylint
Características de Pylint
Tutorial de Pylint
75. Análisis estático del código fuente en Python
Proceso de corrección
Segundo avance
Enlaces de interés
Pylint: Análisis estático del código en Python
Mensajes en Pylint
Características de Pylint
Tutorial de Pylint
76. Análisis estático del código fuente en Python
Proceso de corrección
Segundo avance
Enlaces de interés
Pylint: Análisis estático del código en Python
Mensajes en Pylint
Características de Pylint
Tutorial de Pylint