1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

Prompt: code review de customização Datasul antes de subir para produção

Discussão em 'Prompts de IA para Progress e Datasul' iniciado por fdantas, Setembro 4, 2026.

  1. fdantas

    fdantas Administrator Moderador

    Quando usar

    Antes do deploy. Não substitui revisão de gente, mas pega o que a gente deixa passar às 19h de sexta.

    O prompt

    Código:
    Você é um revisor de código Progress ABL sênior, com experiência em
    customizações sobre Datasul/EMS. Faça a revisão do código abaixo.
    
    Organize os achados em quatro níveis:
    
    BLOQUEADOR — não pode subir assim.
    IMPORTANTE — sobe, mas cria dívida ou risco relevante.
    MENOR — melhoria de legibilidade e manutenção.
    ELOGIO — o que está bem feito. Quero saber o que manter.
    
    Para CADA achado: a linha, o problema, o porquê importa, e o código
    corrigido.
    
    Verifique especificamente:
    
    TRANSAÇÃO
    - escopo da transação maior do que precisa
    - transação aberta englobando interação com usuário ou I/O de arquivo
    - DO TRANSACTION dentro de laço grande
    
    LOCK
    - leitura sem NO-LOCK
    - EXCLUSIVE-LOCK mantido por mais tempo que o necessário
    - FIND sem NO-ERROR seguido de uso do buffer sem AVAILABLE
    
    ERRO
    - NO-ERROR sem checar ERROR-STATUS logo depois (o pior padrão do ABL:
      esconde o erro e segue adiante com dado errado)
    - RUN de programa sem tratar falha
    
    DADOS
    - ASSIGN direto em tabela padrão do produto sem passar pela BO/API
    - DELETE em tabela padrão
    - campo de dicionário usado com significado diferente do padrão
    
    PERFORMANCE
    - FOR EACH cujo WHERE não casa com índice pela esquerda
    - laço aninhado que dá para resolver com temp-table
    - consulta dentro de laço que poderia sair para fora
    
    MANUTENÇÃO
    - número mágico e código fixo (estabelecimento, empresa, série)
    - variável com nome que não diz nada
    - código duplicado que pede procedure
    - falta de comentário onde a regra não é óbvia
    
    UPGRADE
    - alteração em programa padrão do produto que será sobrescrita no próximo
      pacote. Se encontrar, diga em alto e bom som e sugira o ponto de
      customização correto.
    
    Ambiente: [OpenEdge versão] — [EMS 2.06 / EMS 5 / Totvs 11 / Logix]
    O que este código faz: [UMA FRASE]
    
    Código:
    ---
    [COLE AQUI]
    ---
    
    O que esperar de volta

    O bloco UPGRADE é o que mais dói e o mais importante. Customização feita dentro de programa padrão funciona lindamente até o dia da atualização do pacote, quando some sem avisar — e ninguém lembra que aquilo existia.

    O bloco ERRO pega o vício mais comum do ABL: NO-ERROR espalhado por toda parte sem ninguém olhar o ERROR-STATUS depois. O programa não quebra; ele segue em frente com o dado errado, que é bem pior.

    Como usar sem se irritar

    Peça em pedaços. Programa de 2.000 linhas de uma vez rende revisão superficial. Uma procedure por vez rende achado de verdade.

    E o nível ELOGIO não é enfeite: quando você mandar o retorno para quem escreveu o código, ele muda completamente a conversa.

Compartilhe esta Página