AI Prompt Engineering · Aula

Prompts para depuração e refatoração

Utilize LLMs para identificar erros no código existente e sugerir melhorias para refatoração e otimização.

Aula 2 de 311 etapas

Prompts para depuração e refatoração é uma aula grátis de AI Prompt Engineering no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Prompt Engineering, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Prompt Engineering inclui 3 aulas no total.

LLMs para a qualidade do código

Os Modelos de Linguagem de Grande Escala (LLMs) não servem apenas para gerar código novo; eles também são assistentes poderosos para aprimorar código existente. Pense neles como seu revisor de código inteligente!

Nesta lição, exploraremos como os LLMs podem ajudar você a:

  • Identificar e corrigir erros no seu código.
  • Sugerir melhorias para a refatoração.
  • Otimizar seu código para obter melhor desempenho e legibilidade.

Depuração com IA: identificando erros

Depuração é o processo de encontrar e corrigir erros (falhas) em softwares. Essa pode ser uma tarefa demorada.

Os LLMs podem acelerar significativamente a depuração ao:

  • Analisar o código em busca de erros comuns.
  • Identificar com precisão os locais dos erros.
  • Sugerir soluções concretas e código corrigido.

Vamos ver um exemplo.

Sua primeira instrução de depuração

Imagine que você tenha uma função Python que deveria somar números em uma lista, mas não está funcionando corretamente. Você pode dar uma instrução a um LLM para encontrar o erro.

Veja uma função Python com erro. Você consegue identificar o erro?

def calculate_sum(numbers):
    total = 0
    for num in numbers:
        total + num # This line is the bug!
    return total

my_list = [1, 2, 3]
print(f"The sum is: {calculate_sum(my_list)}")

Análise de depuração do LLM

Se você fornecesse o código anterior a um LLM com uma instrução como "Encontre o erro nesta função Python e explique como corrigi-lo,", ele identificaria corretamente o problema.

O erro é que total + num calcula um valor, mas não o atribui novamente a total. Veja o código corrigido:

def calculate_sum(numbers):
    total = 0
    for num in numbers:
        total = total + num # Corrected assignment
    return total

my_list = [1, 2, 3]
print(f"The sum is: {calculate_sum(my_list)}")

Refatoração com LLMs: código limpo

Refatoração é o processo de reestruturar um código de computador existente sem alterar seu comportamento externo. É como arrumar seu quarto sem mudar nenhum móvel de lugar!

Os principais objetivos da refatoração são melhorar:

  • Legibilidade: tornar o código mais fácil de compreender.
  • Manutenibilidade: simplificar futuras atualizações e alterações.
  • Eficiência: às vezes, fazer o código ser executado mais rapidamente, embora esse não seja seu objetivo principal.

Instrução básica de refatoração

Os LLMs podem sugerir maneiras de tornar seu código mais conciso e idiomático em Python, seguindo as práticas recomendadas dessa linguagem.

Considere esta função que processa uma lista. Ela funciona, mas poderia ser mais limpa?

def process_positive_squares(data_items):
    result_list = []
    for item in data_items:
        if item > 0:
            squared_val = item * item
            result_list.append(squared_val)
    return result_list

numbers = [1, -2, 3, -4, 5]
print(f"Processed list: {process_positive_squares(numbers)}")

Uma versão mais limpa

Com uma instrução como "Refatore esta função Python para melhorar a legibilidade e a concisão usando uma compreensão de lista", um LLM poderia sugerir isto:

Uma compreensão de lista é uma maneira compacta de criar uma nova lista a partir de uma sequência existente.

def process_positive_squares(data_items):
    # Using a list comprehension for conciseness
    return [item * item for item in data_items if item > 0]

numbers = [1, -2, 3, -4, 5]
print(f"Processed list: {process_positive_squares(numbers)}")

Otimizando o código com LLMs

Além da legibilidade, os LLMs também podem sugerir maneiras de otimizar seu código para obter melhor desempenho. Isso frequentemente envolve substituir laços personalizados por funções integradas ou algoritmos mais eficientes.

Veja uma função para encontrar a primeira ocorrência de um caractere. Ela funciona, mas há uma forma mais otimizada em Python.

def find_char_manually(text, char):
    for i in range(len(text)):
        if text[i] == char:
            return i
    return -1

my_string = "hello world"
print(f"'o' found at index: {find_char_manually(my_string, 'o')}")

Aproveitando funções integradas

Uma boa instrução neste caso seria: "Como posso otimizar esta função Python para encontrar a primeira ocorrência de um caractere?"

O LLM provavelmente indicaria os métodos integrados de cadeias de caracteres do Python, altamente otimizados, como .find().

def find_char_optimized(text, char):
    # Using the built-in string find method, which is highly optimized
    return text.find(char)

my_string = "hello world"
print(f"'o' found at index: {find_char_optimized(my_string, 'o')}")

Verificação rápida

Compreender a diferença entre depuração e refatoração é essencial para aprimorar o código com eficácia.

Recapitulação: seu assistente de código com IA

Nesta lição, descobrimos como os LLMs podem ser ferramentas inestimáveis para melhorar a qualidade do seu código.

  • Depuração: os LLMs podem identificar erros rapidamente, explicá-los e sugerir correções, economizando seu tempo.
  • Refatoração: os LLMs ajudam a melhorar a estrutura, a legibilidade e a manutenibilidade do código, frequentemente sugerindo maneiras mais concisas ou idiomáticas em Python de escrevê-lo.
  • Otimização: eles também podem apontar gargalos de desempenho e sugerir abordagens mais eficientes.

Lembre-se de criar instruções claras e específicas para obter os melhores resultados do seu assistente de código com IA!

Grátis para começar

Aprenda AI Prompt Engineering com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
53
Aulas
199

Perguntas Frequentes

A aula “Prompts para depuração e refatoração” é grátis?

Sim — o texto completo de “Prompts para depuração e refatoração” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Prompt Engineering, atualize para CoddyKit PRO. O curso de AI Prompt Engineering inclui 3 aulas no total.

O que vou aprender em “Prompts para depuração e refatoração”?

Utilize LLMs para identificar erros no código existente e sugerir melhorias para refatoração e otimização. Você pratica AI Prompt Engineering com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Prompt Engineering?

Nenhuma experiência prévia é necessária. AI Prompt Engineering no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.

Quanto tempo leva a aula “Prompts para depuração e refatoração”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Prompt Engineering?

Sim. Cada aula de AI Prompt Engineering inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Geração de código com LLMs
  2. Prompts para depuração e refatoração
  3. Integrando LLMs a IDEs
← Voltar para AI Prompt Engineering