Diskussion

Senior-Python-Architekt Code-Audit- und Refactoring-Prompt

Von Wikiprompt, der freien Prompt-Enzyklopädie

Discaury Salas
Beigetragen vonDiscaury SalasQuelle

10. Jan. 2026

Senior-Python-Architekt Code-Audit- und Refactoring-Prompt Ein umfassender Prompt für die Prüfung und Refaktorierung von Python-Code mit strengen Standards, Modernisierung und spanischen Ausgabeanforderungen.

Prompt-InhaltSpeichern

🌐
**Puntos Clave de Cambios (en español):** - **Eliminación de redundancias**: Se eliminaron variables innecesarias y se simplificaron operaciones repetitivas. - **Modernización con Python 3.10+**: Se aplicaron f-strings, type hints, dataclasses y pattern matching para mejorar legibilidad y mantenibilidad. - **Manejo de errores robusto**: Se añadieron bloques try/except con excepciones específicas para evitar fallos silenciosos. - **Optimización de algoritmos**: Se reemplazaron bucles ineficientes por comprensiones de listas y funciones de bibliotecas estándar más eficientes. - **Cumplimiento de PEP 8**: Se renombraron variables a nombres semánticos y se ajustó la estructura del código. - **Seguridad**: Se corrigieron posibles vulnerabilidades de inyección y se validaron entradas de usuario. **Código Refactorizado:** ```python from dataclasses import dataclass from typing import List, Optional, Union import json import re from pathlib import Path @dataclass class Config: """Configuración de la aplicación.""" name: str version: str debug: bool = False max_retries: int = 3 class DataProcessor: """Procesador de datos con validación y transformación.""" def __init__(self, config: Config) -> None: self.config = config self._data: List[dict] = [] def load_data(self, file_path: Union[str, Path]) -> None: """Carga datos desde un archivo JSON.""" try: path = Path(file_path) if not path.exists(): raise FileNotFoundError(f"Archivo no encontrado: {path}") with path.open('r', encoding='utf-8') as f: self._data = json.load(f) except (json.JSONDecodeError, PermissionError) as e: print(f"Error al cargar datos: {e}") self._data = [] def process_items(self, items: List[dict]) -> List[dict]: """Procesa una lista de items aplicando transformaciones.""" processed = [] for item in items: try: if not isinstance(item, dict): raise TypeError(f"Item no es un diccionario: {item}") # Aplicar transformaciones con pattern matching match item.get('type'): case 'numeric': processed.append(self._process_numeric(item)) case 'text': processed.append(self._process_text(item)) case _: processed.append(item) except (KeyError, ValueError) as e: print(f"Error procesando item: {e}") continue return processed def _process_numeric(self, item: dict) -> dict: """Procesa items numéricos.""" value = item.get('value', 0) if not isinstance(value, (int, float)): raise ValueError(f"Valor no numérico: {value}") return { **item, 'value': value * 2, 'processed': True } def _process_text(self, item: dict) -> dict: """Procesa items de texto.""" text = item.get('text', '') if not isinstance(text, str): raise ValueError(f"Texto no válido: {text}") # Limpiar y normalizar texto cleaned = re.sub(r'\s+', ' ', text.strip()) return { **item, 'text': cleaned.upper(), 'processed': True } def validate_data(self, data: List[dict]) -> bool: """Valida la integridad de los datos.""" if not data: return False required_keys = {'id', 'type'} return all( required_keys.issubset(item.keys()) for item in data if isinstance(item, dict) ) def save_results(self, results: List[dict], output_path: Union[str, Path]) -> None: """Guarda resultados en archivo JSON.""" try: path = Path(output_path) path.parent.mkdir(parents=True, exist_ok=True) with path.open('w', encoding='utf-8') as f: json.dump(results, f, indent=2, ensure_ascii=False) except (OSError, TypeError) as e: print(f"Error al guardar resultados: {e}") def main() -> None: """Función principal de la aplicación.""" config = Config( name="DataProcessor", version="2.0.0", debug=True ) processor = DataProcessor(config) # Datos de ejemplo sample_data = [ {"id": 1, "type": "numeric", "value": 10}, {"id": 2, "type": "text", "text": " Hola Mundo "}, {"id": 3, "type": "unknown", "value": "test"} ] # Validar y procesar if processor.validate_data(sample_data): results = processor.process_items(sample_data) processor.save_results(results, "output/results.json") print(f"Procesados {len(results)} items exitosamente") else: print("Datos inválidos: faltan campos requeridos") if __name__ == "__main__": main() ```

Melde dich an, um den vollständigen Prompt zu sehen

Weiter mit:

Mit der Anmeldung akzeptierst du unsere Nutzungsbedingungen und Datenschutz

Verwendung

Dieser Prompt ist für die Verwendung mit coding gedacht. Kopiere den Inhalt oben und füge ihn in dein bevorzugtes KI-Tool ein.

Für beste Ergebnisse passe die Platzhalter (eckige Klammern oder Großbuchstaben) an deine Anforderungen an.

Referenzen

Kategorien:coding| prompts.chat| python| code-audit

Diskussion