>
Programação & Web Qualquer IA

Porte de código entre linguagens com contrato congelado

Módulo portado de uma linguagem para outra sem tradução literal: contrato público congelado e testes de caracterização.

EPEquipe Prompt Salvo ·Criado em 20 de out. de 2026 ·Atualizado em 20 de out. de 2026
0cópias
0joinhas
0favoritos

O prompt

Porte {{modulo}} de {{linguagem_origem}} para {{linguagem_destino}}. O contrato inegociável: {{o_que_nao_pode_mudar}} (API pública, comportamento, mensagens de erro).

Regras:
1. ANTES de escrever código, liste em tabela a API pública completa: função, assinatura, comportamento, casos de borda. Essa tabela é a fonte de verdade do port.
2. Porte de forma idiomática, não literal: use stdlib, convenções de nomes e tratamento de erros nativos de {{linguagem_destino}}.
3. Se o original tem testes, porte todos; se não tem, escreva testes de caracterização no original primeiro (o que ele FAZ hoje, não o que DEVERIA fazer) e depois os porte.
4. Sinalize diferenças semânticas entre as linguagens (divisão inteira, arredondamento de float, encoding de string, null/nil/None, ordem de dicionários) com um exemplo concreto de como cada uma afetaria ESTE código.
5. Entregue lado a lado: trecho original → trecho portado → nota da decisão tomada.
6. Marque com TODO-port qualquer lugar onde você teve que escolher entre preservar comportamento e ser idiomático - eu decido.

O port só está pronto quando os testes portados passam 100%.

Como usar

  1. Rode os testes de caracterização no original primeiro e congele a saída - esse é o baseline.
  2. Confira a tabela do passo 1 linha por linha antes de deixar a IA portar: API esquecida aqui = bug descoberto em produção.
  3. Depois do port, rode a suíte portada e exija 100%; teste manualmente os casos de float/encoding sinalizados no passo 4.
  4. Revise cada TODO-port com o time: é onde comportamento e idiomática colidem.

Exemplo de saída

Módulo de pricing Python → Rust: tabela de contrato com 12 funções; 3 diferenças semânticas sinalizadas (round half-even vs half-up, None vs Option, ordem de dict); 2 TODO-port (validação de CPF que aceitava string vazia); suíte de 34 testes de caracterização portada e passando.

Guias relacionados

Prompts para programação e revisão de códigoBoilerplate, refatoração e code review com auditoria de segurança: como pedir código que compila de primeira.Prompt chains: encadear prompts para tarefas complexasQuando um prompt não basta: decomponha o trabalho em etapas com saída de uma alimentando a entrada da outra.Segurança e privacidade ao usar IAs com dados pessoaisO que nunca colar em um chat de IA, como anonimizar dados sensíveis e o que a LGPD exige do seu fluxo.
Usar na extensão