Como refatorar código preservando o comportamento.
A refatoração deve preservar o comportamento observável, salvo mudança solicitada explicitamente. Identifique testes ou exemplos que detectem diferenças involuntárias.
Adapte o fluxo à sua tarefa.
Defina o comportamento que deve permanecer e identifique a duplicação ou complexidade a tratar. Faça uma mudança estrutural delimitada e compare casos conhecidos, erros e efeitos colaterais com o original.
- O que você fornece
- Código e mudança estrutural solicitada.
- O que você recebe
- Rascunho refatorado que preserva o comportamento pretendido.
Veja a entrada e o resultado.
Entrada e saída ilustrativas · exemplo didático, não uma execução real do WebAct
Exemplo campo
Refactor this Python function without changing its result or empty-name error:
def label(name, loud):
if loud:
if not name:
raise ValueError("name required")
return name.upper()
if not name:
raise ValueError("name required")
return name.lower()Exemplo completo
def label(name, loud):
if not name:
raise ValueError("name required")
return name.upper() if loud else name.lower()
Checks: label("Ada", True) → "ADA"; label("Ada", False) → "ada". An empty string raises ValueError("name required") in both modes.Carregue esta entrada no prompt e copie para o WebAct para testar a tarefa. Seu resultado pode ser diferente da ilustração.
Decisões e solução de problemas.
A refatoração pode alterar intencionalmente o comportamento de erros?
Somente quando essa mudança fizer parte da solicitação. Caso contrário, preserve-o ou separe-o em uma decisão posterior explícita.
Por que extrair código compartilhado altera o resultado de uma ramificação?
Confira a ordem de execução, o estado e as condições específicas da ramificação. Códigos parecidos podem operar sob hipóteses diferentes.
Teste com sua própria fonte.
Substitua o exemplo pelo seu material no prompt. Mantenha os requisitos necessários e copie a tarefa para o WebAct.
Personalizar e copiar a tarefa ↑