Kasus penggunaan: Membuat dan memfaktorkan ulang kode

Anda dapat menggunakan Gemini Enterprise untuk membuat kode baru dan memfaktorkan ulang kode yang ada.

Contoh perintah

Di kotak chat, masukkan perintah seperti berikut:

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?

Contoh output

Sebagai respons terhadap perintah ini, Gemini Enterprise menghasilkan output yang mirip dengan berikut:

Tentu saja. Saya dapat membantu kedua permintaan Anda.

Pertama, berikut fungsi Python serbaguna untuk mengurai file JSON dan mengekstrak daftar kunci yang ditentukan. Ini mencakup penanganan error untuk masalah umum seperti file yang tidak ada atau konten JSON yang tidak valid.

Fungsi untuk Mengurai JSON dan Mengekstrak Kunci

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)
            # ...

Kode yang Difaktorkan Ulang

Berikut adalah versi yang telah difaktorkan ulang dari file hi.py yang Anda berikan. Peningkatan utama berfokus pada membuat kode lebih aman dan lebih mudah dibaca dengan menghapus pernyataan if yang bertingkat dalam.

Versi ini menggunakan metode .get(), yang merupakan cara yang lebih "Pythonic" untuk mengakses kunci kamus yang mungkin tidak ada. Hal ini membantu menghindari pengecualian KeyError dan membuat kode lebih datar dan lebih mudah diikuti.

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:
        # ...