Pode usar o Gemini Enterprise para gerar novo código e refatorar código existente.
Exemplo de comando
Na caixa de chat, introduza um comando, como o seguinte:
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?
Exemplo de resultado
Em resposta a este comando, o Gemini Enterprise produz um resultado semelhante ao seguinte:
Claro. Posso ajudar com ambos os pedidos.
Primeiro, aqui está uma função Python de uso geral para analisar um ficheiro JSON e extrair uma lista de chaves especificadas. Inclui o processamento de erros para problemas comuns, como um ficheiro em falta ou conteúdo JSON inválido.
Função para analisar JSON e extrair chaves
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) # ...
Código refatorado
Segue-se a versão refatorada do ficheiro
hi.py
que enviou. As melhorias principais focam-se em tornar o código mais seguro e legível através da remoção das declaraçõesif
profundamente aninhadas.Esta versão usa o método
.get()
, que é uma forma mais "Pythonic" de aceder a chaves de dicionário que podem não existir. Ajuda a evitar exceções doKeyError
e torna o código mais simples e fácil de seguir.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: # ...