Plausível mas errado: o problema da revisão de IA

Prévia grátis 2 min de leitura

Confiante e errado não são opostos

Um assistente de IA sugere uma validação, uma consulta ou uma action de controller inteira, e cada linha parece algo que um desenvolvedor Rails competente escreveria: indentação arrumada, os nomes de método certos, os idiomas de sempre do Rails. Nada disso diz se o código está certo. A fluência de um modelo de linguagem vem dos dados de treinamento, não do seu requisito específico, e as duas coisas não têm ligação necessária.

Por que este hábito não vem naturalmente

Lendo o pull request de outra pessoa, um desenvolvedor espera erros e lê na defensiva. Uma sugestão de IA dentro do seu editor, já nas suas convenções, parece mais o seu próprio código um minuto depois de escrito. E desenvolvedores passam os olhos no próprio código com muito menos crítica que no de um estranho. A IA não fez nada para despertar suspeita; escreveu Ruby limpo e idiomático. Esse é o problema.

Quatro perguntas, sempre

Este curso monta uma checklist repetível, aplicada a toda sugestão de IA antes de você aceitá-la:

  1. Faz o que foi pedido, ou só parece uma resposta?
  2. Introduz um problema de segurança, que uma sugestão plausível esconde fácil?
  3. Duplica uma lógica que já existe em algum lugar da app?
  4. Segue as convenções deste código, ou inventa uma nova que por acaso é Ruby válido?

Nenhuma das quatro exige rodar o código antes. Dá para responder todas lendo, do jeito que um desenvolvedor sênior revisa um pull request antes de baixar o branch.

O que este curso cobre

  1. Fazer o que foi pedido: uma validação que parece certa e confere a coisa errada.
  2. Uma checagem de segurança, ligada a mass assignment, o buraco que Parâmetros e segurança já fechou uma vez.
  3. Uma checagem de lógica duplicada, usando as regras de arquitetura desta app.
  4. Uma checagem de convenções, contra este código e não contra o "Rails correto" em geral.
  5. Um exemplo completo, do começo ao fim: um método plausível de Article e o raciocínio que pega o que está errado nele.
  6. Um fechamento: o que a checklist significa quando vira hábito.

No fim, "parece certo" deixa de ser motivo para aceitar uma sugestão e vira motivo para ir devagar e conferir.

Aula 1 de 7 · grátis

Continue com a aula 2

Ela faz o que foi pedido?

Uma validação de unicidade sem escopo bloqueia títulos repetidos entre autores; o scope: :author_id aplica a regra pedida.

Com uma conta grátis você também tem os quizzes, seu progresso e suas anotações, e a discussão.

Digite para buscar...