Articles of refactorización de

Pregunta de refactorización del código Python. Aplicando funciones a múltiples elementos.

Tengo un código que se parece a esto: self.ui.foo.setEnabled(False) self.ui.bar.setEnabled(False) self.ui.item.setEnabled(False) self.ui.item2.setEnabled(False) self.ui.item3.setEnabled(False) Y me gustaría convertirlo en algo como esto: items = [foo,bar,item,item2,item3] for elm in items: self.ui.elm.setEnabled(False) Pero, obviamente, el hecho de tener las variables en la lista sin la parte ‘self.ui’ no es válido, y prefiero no escribir ‘self.ui’ para cada elemento […]

Python Rope: cómo encontrar todas las importaciones y errores faltantes en todos los submódulos de refactorización

Estoy tratando de encontrar todas las declaraciones de importación faltantes y errores para cada módulo y sus submódulos. ¿Hay una herramienta dedicada para lo que estoy tratando de hacer? El código que escribí, pero parece realmente terrible y tal vez ya exista algo como esto: import os def find_missing_imports(walk): for items in walk: d = […]

El módulo de mapeo se importa en Python para una fácil refactorización

Tengo un montón de módulos de Python que quiero limpiar, reorganizar y refactorizar (hay algunos códigos duplicados, otros no utilizados …), y me pregunto si hay una herramienta para hacer un mapa de qué módulo usa qué otro módulo. . Idealmente, me gustaría un mapa como este: main.py -> task_runner.py -> task_utils.py -> deserialization.py -> […]

Python: prefieres varios módulos pequeños o un módulo más grande?

Estoy trabajando en una aplicación web de Python en la que tengo algunos módulos pequeños que cumplen funciones muy específicas: logger.py , logger.py , database.py , etc. Y por “pequeño” realmente quiero decir pequeño; cada uno de estos archivos actualmente incluye alrededor de 3-5 líneas de código, o tal vez hasta 10 como máximo. Podría […]

Herramienta de Python que crea un diagtwig de dependencia para los métodos de una clase

Estoy investigando una enorme clase de Python heredada que tiene muchos métodos. Eventualmente, rompo los complejos en pedazos más pequeños, por lo que la cantidad de métodos aumenta aún más. Me pregunto si hay una herramienta que pueda escanear el código de Python y construir algún tipo de diagtwig de dependencia para sus métodos. Defino […]

Python: ¿Las subclases pueden sobrecargar los métodos heredados?

Estoy haciendo una aplicación de carrito de compras en Google App Engine. Tengo muchas clases que se derivan de un controlador de base: class BaseHandler(webapp.RequestHandler): def get(self, CSIN=None): self.body(CSIN) ¿Significa esto que el método body() de cada clase descendiente necesita tener el mismo argumento? Esto es engorroso. Solo un descendiente usa ese argumento. ¿Y qué […]

¿Simplificar / refactorizar automáticamente el código de Python (por ejemplo, para bucles -> comprensión de lista)?

En Python, realmente disfruto lo concisa que puede ser una implementación al usar la comprensión de listas. Me encanta hacer listas concisas de comprensión esto: myList = [1, 5, 11, 20, 30, 35] #input data bigNumbers = [x for x in myList if x > 10] Sin embargo, a menudo encuentro implementaciones más detalladas como […]

¿Qué herramientas de refactorización usas para Python?

Tengo un montón de clases que quiero cambiar de nombre. Algunos de ellos tienen nombres pequeños y ese nombre se reutiliza en otros nombres de clase, donde no quiero que se cambie ese nombre. La mayor parte de esto vive en código Python, pero también tenemos algún código XML que hace referencia a los nombres […]

¿Cómo puedes encontrar funciones no utilizadas en el código Python?

Así que tienes un código heredado en un proyecto bastante fuerte. ¿Cómo puedes encontrar y borrar funciones muertas? He visto estas dos referencias: buscar código no utilizado y herramienta para encontrar funciones no utilizadas en el proyecto php , pero parecen ser específicas de C # y PHP, respectivamente. ¿Existe alguna herramienta de Python que […]