Discussion

Générateur de code Python prêt pour la production Prompt

De Wikiprompt, l’encyclopédie libre de prompts

Siva Sai Yadav Mudugandla

24 févr. 2026

Générateur de code Python prêt pour la production Prompt Un invite système structuré qui guide une IA pour générer du code Python prêt pour la production, avec confirmation des exigences, décisions de conception, conformité PEP8, exemples d'utilisation et une carte récapitulative.

Contenu du PromptEnregistrer

🌐
- Goal: Créer un assistant Python senior pour générer du code structuré et prêt pour la production. - Inputs: Une description textuelle des exigences du projet (${describe_your_requirements_here}). - Outputs: Un plan structuré en 5 étapes (confirmation, décisions, code, exemple, carte récapitulative) avec du code Python complet. - Edge Cases: Exigences ambiguës, entrées manquantes, cas limites non spécifiés. - Assumptions: L'utilisateur fournira une description claire; le code généré sera basé sur les meilleures pratiques Python 3.10+. --- | Decision | Chosen Approach | Why | Complexity | |----------|----------------|-----|------------| | Data Structure | Utilisation de dictionnaires pour les logs de décisions | Accès O(1) pour les choix documentés | O(1) vs O(n) | | Pattern Used | Générateurs pour les exemples d'utilisation | Efficacité mémoire pour les grands ensembles | O(1) espace | | Error Handling | Exceptions personnalisées (ValueError, TypeError) | Débogage précis et messages clairs | - | | Type Hints | Annotations complètes sur toutes les fonctions | Amélioration de la lisibilité et de la maintenance | - | | Modularité | Fonctions séparées pour chaque étape | Testabilité et réutilisation | - | | Sécurité | Validation des entrées externes | Prévention des injections ou erreurs | - | --- ```python """ Module: python_senior_assistant.py Ce module fournit un assistant structuré pour générer du code Python prêt pour la production, en suivant un flux en 5 étapes : confirmation, décisions, code, exemple, et carte récapitulative. """ from typing import Any, Dict, List, Optional, Tuple def confirm_requirements(description: str) -> Dict[str, Any]: """ Confirme la compréhension des exigences. Args: description: Description textuelle des exigences. Returns: Dictionnaire avec les clés 'goal', 'inputs', 'outputs', 'edge_cases', et 'assumptions'. Raises: ValueError: Si la description est vide ou trop courte. """ if not description or len(description.strip()) < 10: raise ValueError("La description doit contenir au moins 10 caractères.") return { "goal": "Générer du code Python structuré et prêt pour la production.", "inputs": {"description": "str - description textuelle des exigences"}, "outputs": {"plan": "Dict - plan en 5 étapes avec code"}, "edge_cases": ["Exigences ambiguës", "Entrées manquantes"], "assumptions": ["Python 3.10+", "Meilleures pratiques PEP8"], } def design_decision_log() -> List[Dict[str, str]]: """ Documente les décisions de conception. Returns: Liste de dictionnaires avec 'decision', 'approach', 'why', et 'complexity'. """ return [ { "decision": "Data Structure", "approach": "Dictionnaires pour les logs", "why": "Accès O(1) pour les choix documentés", "complexity": "O(1) vs O(n)", }, { "decision": "Pattern Used", "approach": "Générateurs pour les exemples", "why": "Efficacité mémoire", "complexity": "O(1) espace", }, { "decision": "Error Handling", "approach": "Exceptions personnalisées", "why": "Débogage précis", "complexity": "-", }, ] def generate_code(requirements: Dict[str, Any]) -> str: """ Génère le code Python complet basé sur les exigences. Args: requirements: Dictionnaire des exigences confirmées. Returns: Code Python sous forme de chaîne. Raises: TypeError: Si requirements n'est pas un dictionnaire. """ if not isinstance(requirements, dict): raise TypeError("requirements doit être un dictionnaire.") code = """ import logging from typing import List, Optional logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def process_data(data: List[int]) -> Optional[int]: \"\"\" Traite une liste d'entiers et retourne la somme. Args: data: Liste d'entiers. Returns: Somme des entiers, ou None si vide. Raises: TypeError: Si data contient des non-entiers. \"\"\" if not data: logger.warning("Liste vide - retour None.") return None if not all(isinstance(x, int) for x in data): raise TypeError("Tous les éléments doivent être des entiers.") return sum(data) """ return code def usage_example() -> str: """ Fournit un exemple d'utilisation exécutable. Returns: Script Python d'exemple. """ return """ # Exemple d'utilisation from python_senior_assistant import process_data # Cas normal result = process_data([1, 2, 3, 4]) print(f"Somme: {result}") # Sortie: Somme: 10 # Cas limite - liste vide result_empty = process_data([]) print(f"Résultat vide: {result_empty}") # Sortie: Résultat vide: None # Cas d'erreur try: process_data([1, "a"]) except TypeError as e: print(f"Erreur attrapée: {e}") """ def blueprint_card() -> Dict[str, str]: """ Résume ce qui a été construit. Returns: Dictionnaire avec les détails du blueprint. """ return { "what_was_built": "Assistant Python structuré en 5 étapes", "key_design_choices": "Dictionnaires, générateurs, exceptions", "pep8_highlights": "snake_case, docstrings Google, max 79 chars", "error_handling": "ValueError, TypeError, logging", "overall_complexity": "Time: O(n) | Space: O(1)", "reusability_notes": "Fonctions modulaires et testables", } # Point d'entrée principal if __name__ == "__main__": description = "Créer un assistant pour générer du code Python." try: reqs = confirm_requirements(description) print("Exigences confirmées:", reqs) print("Log de décisions:", design_decision_log()) print("Code généré:", generate_code(reqs)) print("Exemple:", usage_example()) print("Blueprint:", blueprint_card()) except ValueError as e: print(f"Erreur: {e}") ``` --- ```python """ Script d'exemple pour démontrer l'utilisation de l'assistant. """ from python_senior_assistant import ( confirm_requirements, design_decision_log, generate_code, usage_example, blueprint_card, ) # Étape 1: Confirmer les exigences description = "Générer un module de calcul de moyenne." try: reqs = confirm_requirements(description) print("Exigences:", reqs["goal"]) # Étape 2: Log de décisions decisions = design_decision_log() print("Décisions:", decisions[0]["approach"]) # Étape 3: Générer le code code = generate_code(reqs) print("Code généré (extrait):", code[:50] + "...") # Étape 4: Exemple d'utilisation example = usage_example() print("Exemple prêt:", "process_data" in example) # Étape 5: Blueprint blueprint = blueprint_card() print("Complexité:", blueprint["overall_complexity"]) # Cas limite - description vide try: confirm_requirements("") except ValueError as e: print(f"Cas limite géré: {e}") except Exception as e: print(f"Erreur inattendue: {e}") ``` --- | Area | Details | |---------------------|----------------------------------------------| | What Was Built | Assistant Python structuré en 5 étapes pour générer du code prêt pour la production | | Key Design Choices | Dictionnaires pour les logs, générateurs pour les exemples, exceptions personnalisées | | PEP8 Highlights | snake_case, docstrings Google, ligne max 79 caractères, imports ordonnés | | Error Handling | ValueError pour entrées invalides, TypeError pour types incorrects, logging | | Overall Complexity | Time: O(n) | Space: O(1) | | Reusability Notes | Fonctions modulaires, testables, réutilisables dans d'autres projets |

Connectez-vous pour voir le prompt complet

Continuer avec:

En vous connectant, vous acceptez nos Conditions et Confidentialité

Utilisation

Ce prompt est conçu pour être utilisé avec coding. Copiez le contenu ci-dessus et collez-le dans votre outil d’IA préféré.

Pour de meilleurs résultats, personnalisez les espaces réservés (indiqués par des crochets ou des majuscules) selon vos besoins.

Références

Catégories :coding| prompts.chat| python| code-generation

Discussion