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.
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
- Rode os testes de caracterização no original primeiro e congele a saída - esse é o baseline.
- Confira a tabela do passo 1 linha por linha antes de deixar a IA portar: API esquecida aqui = bug descoberto em produção.
- Depois do port, rode a suíte portada e exija 100%; teste manualmente os casos de float/encoding sinalizados no passo 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.