Generaci贸n de comentarios

GitHub Copilot es un motor que genera c贸digo, pero tambi茅n puede generar comentarios a partir del c贸digo. Por ejemplo, supongamos que tenemos el siguiente c贸digo de la criba de Erat贸stenes sin comentarios.

def eratosthenes_sieve(n):
    primes = []
    sieve = [True] * (n + 1)
    for p in range(2, n + 1):
        if sieve[p]:
            primes.append(p)
            for i in range(p * p, n + 1, p):
                sieve[i] = False
    return primes

GitHub Copilot puede escribir comentarios explicando el m茅todo de la siguiente manera:

# Escribir aqu铆 la descripci贸n del m茅todo <- [Prompt Actual]
# Entrada: n - el n煤mero de n煤meros primos a devolver
# Salida: una lista de los primeros n n煤meros primos
# Ejemplo: eratosthenes_sieve(5) -> [2, 3, 5, 7, 11]
# Nota: esta es una forma muy ineficiente de encontrar n煤meros primos, pero es f谩cil de entender
def eratosthenes_sieve(n):
    primes = []
    sieve = [True] * (n + 1)
    for p in range(2, n + 1):
        if sieve[p]:
            primes.append(p)
            for i in range(p * p, n + 1, p):
                sieve[i] = False
    return primes

Adem谩s, se puede escribir una explicaci贸n del algoritmo a partir del c贸digo, lo que permite a los ingenieros entender el c贸digo de otros m谩s r谩pidamente.

def eratosthenes_sieve(n):
    primes = []
    sieve = [True] * (n + 1)
    # Descripci贸n del algoritmo <- [Prompt Actual]
    # 1. Crear una lista de enteros consecutivos desde 2 hasta n: (2, 3, 4, ..., n).
    # 2. Inicialmente, p = 2, el primer n煤mero primo.
    # 3. A partir de p, enumerar sus m煤ltiplos contando hasta n en incrementos de p, y marcarlos en la lista
    #    (estos ser谩n 2p, 3p, 4p, ...; el p en s铆 no debe ser marcado).
    # 4. Encontrar el primer n煤mero mayor que p en la lista que no est谩 marcado. Si no existe tal n煤mero, detenerse.
    #    De lo contrario, dejar que p ahora sea igual a este nuevo n煤mero (que es el siguiente n煤mero primo), y repetir desde el paso 3.
    for p in range(2, n + 1):
        if sieve[p]:
            primes.append(p)
            for i in range(p * p, n + 1, p):
                sieve[i] = False
    return primes

Mostrar Pasos

El uso de la funci贸n LIST STEPS en Code Brushes de GitHub Next permite hacer lo mismo.

def calculate_sum(numbers):
    # inicializar una variable para seguir la suma total
    total = 0
    # iterar sobre cada n煤mero en la lista
    for number in numbers:
        # agregar el n煤mero a la suma total
        total += number
    # devolver la suma total
    return total

De C贸digo a Documento

Si el c贸digo es muy grande, otra opci贸n es utilizar herramientas de inteligencia artificial en forma de chat, como ChatGPT o Bing, para obtener una explicaci贸n de la documentaci贸n del c贸digo completo y as铆 entender su descripci贸n general.

Last updated