Cas d'utilisation : générer et refactoriser du code

Vous pouvez utiliser Gemini Enterprise pour générer du code et refactoriser du code existant.

Exemple de prompt

Dans la zone de chat, saisissez une requête comme celle-ci :

Can you generate a Python function to parse a JSON file and extract specific
keys? Also, can you refactor the code in the attached file to improve its
readability and efficiency?

Exemple de résultat :

En réponse à cette requête, Gemini Enterprise produit un résultat semblable à celui-ci :

Bien sûr. Je peux vous aider pour vos deux demandes.

Tout d'abord, voici une fonction Python à usage général permettant d'analyser un fichier JSON et d'extraire une liste de clés spécifiques. Il inclut la gestion des exceptions pour les problèmes courants, comme un fichier manquant ou un contenu JSON non valide.

Fonction permettant d'analyser le code JSON et d'extraire les clés

import json

def extract_keys_from_json(file_path, keys_to_extract):
    """
    Parses a JSON file and extracts values for a specific list of keys.

    Args:
        file_path (str): The path to the JSON file.
        keys_to_extract (list): A list of strings representing the keys to extract.

    Returns:
        dict: A dictionary containing the extracted keys and their values.
              Returns an empty dictionary if the file is not found or is invalid.
    """
    extracted_data = {}
    try:
        with open(file_path, 'r') as f:
            data = json.load(f)
            # ...

Code refactorisé

Voici la version refactorisée du fichier hi.py que vous avez fourni. Les principales améliorations visent à rendre le code plus sûr et plus lisible en supprimant les instructions if profondément imbriquées.

Cette version utilise la méthode .get(), qui est une façon plus "pythonique" d'accéder aux clés de dictionnaire qui peuvent ne pas exister. Cela permet d'éviter les exceptions KeyError et de rendre le code plus simple et plus facile à suivre.

import json

def update_user_status_refactored(json_data):
    """
    Parses user data, updates status, and handles nested keys safely.
    """
    data = json.loads(json_data)

    # Safely get the email using .get() to avoid errors if keys are missing
    # .get('user', {}) returns an empty dict if 'user' is not found
    email = data.get('user', {}).get('details', {}).get('email')

    if email:
        print(f"Processing user: {email}")

    # Update the user status
    if 'user' in data:
        # ...