Revisão de código PythonTreinamento em programação

Revisão de código Python com explicações em linguagem simples

Entrega a partir de 1 diaAjustes incluídosControle de qualidade
Pacotes
Pagamento protegidoDetalhes
  • Os ajustes previstos no pacote são gratuitos.
  • Se você não responder em 3 dias após a entrega, o trabalho é aprovado automaticamente.
Fazer pedido · US$ 35

O dinheiro fica reservado no pagamento e só é liberado quando você aprova o trabalho.

Revisão de código Python com explicações em linguagem simples

Exemplo de resultado

Exemplo do pacote Padrão

Revisão de código: script em Python para importar pedidos de uma loja virtual

O que o código faz

  1. Lê o orders.csv exportado da loja.
  2. Para cada item do pedido, procura o produto pelo SKU no stock.xlsx e subtrai a quantidade.
  3. Grava o estoque atualizado e registra os totais em import_log.txt.

A estrutura é clara e as funções têm bons nomes. A maioria dos problemas vem de dados de entrada que não chegam no formato que o script espera.

Bugs e pontos fracos

#LinhaGravidadeProblema
148AltaO mesmo CSV pode ser importado duas vezes; não há checagem dos IDs de pedido já processados. É a causa mais provável do estoque negativo.
272Altaint(row["qty"]) quebra com valores vazios ou "2.0" de pedidos reembolsados.
395MédiaA busca por SKU diferencia maiúsculas: "gt-101" e "GT-101" viram produtos diferentes.
4130MédiaO arquivo é aberto sem encoding="utf-8", então nomes com acento quebram no Windows.
5201BaixaUm except: genérico esconde os erros reais e deixa o log inútil.

Trechos corrigidos

Problema 1: pular pedidos já importados

processed = load_processed_ids("processed_orders.txt")
for row in reader:
    if row["order_id"] in processed:
        continue
    # ... lógica existente ...
    processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)

Por quê: cada pedido é aplicado uma única vez, mesmo que você rode o script de novo com o mesmo arquivo.

Problema 2: ler a quantidade com segurança

raw = (row.get("qty") or "").strip()
try:
    qty = int(float(raw))
except ValueError:
    log.warning("Pedido %s: quantidade inválida %r, ignorado", row["order_id"], raw)
    continue

Por quê: itens reembolsados ou parciais são pulados com um aviso claro, em vez de interromper toda a importação.

Problema 3: padronizar os SKUs

sku = row["sku"].strip().upper()

Aplique o mesmo .strip().upper() ao montar o dicionário de estoque.

Estilo e legibilidade

  • process() tem 90 linhas; divida em read_orders, apply_to_stock e write_report.
  • Troque os números de coluna "mágicos" (row[7]) pelos nomes dos cabeçalhos.

Teste cada correção em uma cópia dos seus arquivos: lemos o código, mas não o executamos.

Cliente: dona de uma loja de chás que escreveu um script em Python de 310 linhas para importar os pedidos de um CSV exportado para a planilha de estoque Problema relatado: "Às vezes o estoque fica negativo, e o script trava com alguns arquivos."

O cliente e todos os dados são fictícios.

Sobre este serviço

Código Python de cursos e primeiros projetos costuma funcionar, mas esconde hábitos que dão problema depois: argumentos padrão mutáveis, blocos except genéricos, variáveis globais e uma única função longa fazendo tudo. Cole o seu script ou as células do notebook e explicamos em palavras simples o que cada parte faz, onde quebra ou pode quebrar e como a mesma ideia fica em Python idiomático. Cada ponto vem com o motivo por trás, para você aprender a regra e não só a correção.

O que está incluído

  • O que você recebeUma revisão escrita na página do pedido: o que o seu script faz, problemas ordenados por importância com explicações específicas de Python e fragmentos corrigidos no estilo PEP 8. O Premium inclui um plano de estudos com os temas de Python que vale praticar em seguida.
  • Traceback explicadoQual linha falhou e por quê
  • Reescritas pythônicasComprehensions, f-strings, blocos with
  • Armadilhas comunsPadrões mutáveis, except genérico, globais
  • Funções e nomesComo dividir e nomear o código
  • Dicas de PEP 8O layout legível que os outros esperam

Como funciona

  1. 1
    BriefingVocê cola o código e o erro
  2. 2
    LeituraAnalisamos o código linha por linha
  3. 3
    RevisãoVocê recebe explicações e fragmentos corrigidos

O que precisamos de você

O seu código Python colado como texto ou em capturas de tela, a versão do Python, o que o script deveria fazer e o traceback completo, se ele travar.

Vamos perguntar:

  • Qual versão do Python e quais bibliotecas você usa?
  • É um script, um notebook ou parte de um projeto maior?
  • O que o código deveria fazer e o que acontece no lugar?
  • Há quanto tempo você aprende Python?

Compare os pacotes

PacotesBásicoScript Python de até 100 linhasUS$ 15PadrãoCódigo Python de até 400 linhasUS$ 35PremiumAté 1.000 linhas com plano de estudosUS$ 69
Prazo1 dia2 dias3 dias
Ajustes123
Linhas de códigoaté 100até 400até 1.000
Fragmentos corrigidosSimSimSim
Plano de estudoNãoNãoSim
Fazer pedido BásicoFazer pedido PadrãoFazer pedido Premium

Pagamento protegido

Você paga ao fazer o pedido, mas o dinheiro só é liberado pelo trabalho aprovado.

  • Preço fixoO preço do pacote não muda depois que você paga.
  • O dinheiro fica reservadoAo pagar, o valor fica apenas reservado. Ele só é repassado quando você aprova o trabalho.
  • Verificado antes da entregaCada resultado passa por um controle de qualidade antes de chegar até você, e você o vê na página do pedido antes de aprovar.
  • Ajustes gratuitosPeça ajustes dentro do seu briefing quantas vezes o pacote permitir.
  • Aprovação após 3 diasSe em 3 dias após a entrega você não aprovar o trabalho nem pedir ajustes, ele é aprovado automaticamente. Se você escrever no chat do pedido após a entrega, o pedido fica em espera; depois que respondermos, podemos reiniciar a contagem de 3 dias e avisaremos no chat.
  • Refazer ou reembolso totalSe o resultado não corresponder ao seu briefing e os ajustes não resolverem, ou se o trabalho levar mais que o dobro do prazo, escreva no chat do pedido: refazemos o trabalho ou reembolsamos o pagamento integralmente.
Como funciona →

Perguntas e respostas

Vocês executam o meu código?

Não. Lemos o código com atenção e analisamos como ele se comporta, mas não o executamos, então teste cada correção sugerida no seu próprio projeto.

Vocês revisam um notebook Jupyter?

Sim. Cole as células em ordem, com as saídas ou mensagens de erro, e revisamos tudo como um único programa.

Vocês resolvem a atividade do meu curso?

Revisamos a sua própria tentativa e explicamos como corrigi-la. Não fazemos testes avaliados nem provas por você.

Pacotes
Fazer pedido · US$ 35· 2 dias