MakionDocs ← makion.dev

Como funciona o cleaner

O cleaner ABAP é o formatador e normalizador de código próprio do Makion. É determinístico e preserva o comportamento: só altera espaços em branco, maiúsculas/minúsculas, quebras de linha e modernizações de tokens seguras, e nunca muda o que o código faz. O cleaner corre através da ferramenta SAP durante uma tarefa, antes de o agente escrever ou ativar um objeto.

Configure-o no separador ABAP cleaner, que é visível para um administrador do projeto. Tudo o que definir aqui aplica-se apenas a este projeto.

O que o cleaner faz — e não faz#

O cleaner reescreve a forma do ABAP, nunca o seu significado. Pode reindentar instruções, normalizar as maiúsculas/minúsculas das palavras-chave, arrumar espaçamento e linhas em branco, alinhar as colunas de declaração e aplicar modernizações seguras (por exemplo, transformar MOVE src TO tgt. em tgt = src.). Cada regra preserva o comportamento por design — veja o catálogo completo na Cleaner rules reference.

O cleaner nunca corre sobre objetos CDS / DDLS / DDLX / SRVD. Reformatar esses estragaria as suas anotações. Aplica-se apenas a código-fonte ABAP.

Ligar o cleaner#

A caixa de verificação principal Limpar código antes da ativação é o interruptor ligar/desligar de todo o cleaner neste projeto. Está DESLIGADA por predefinição.

Quando está LIGADA, aparece uma caixa de verificação por tarefa Limpar esta tarefa no compositor do Chat, para que possa decidir executar o cleaner para uma única tarefa. Com o interruptor principal desligado, o cleaner nunca corre e essa caixa fica oculta.

Controlos do separador#

Controlo O que faz
Limpar código antes da ativação Caixa de verificação principal. DESLIGADA por predefinição. Quando LIGADA, ativa o cleaner para este projeto e revela Limpar esta tarefa no compositor do Chat.
Release ABAP alvo Campo numérico (p. ex. 757; intervalo 700799). Condiciona as regras de modernização — algumas reescritas precisam de um release ABAP mínimo e não são acionadas num alvo inferior.
Regras O catálogo de regras, agrupado por categoria. Cada regra tem uma caixa de verificação, um nome, uma descrição, um exemplo antes → depois e um id de regra. Desativado a menos que o interruptor principal esteja ligado.
Guardar Guarda a configuração do cleaner para este projeto.

Release ABAP alvo#

Algumas modernizações só existem a partir de um dado release ABAP em diante — por exemplo, expressões de construtor como NEW precisam de 7.40, e atribuições compostas como x += n precisam de 7.54. O valor Release ABAP alvo indica ao cleaner que release está a visar, para que só aplique reescritas que o seu sistema consiga compilar. Defina-o para o release do seu sistema.

Regras#

O catálogo de Regras está agrupado por categoria — Casing, Declarations, Layout, Spacing, Alignment, Comments, Whitespace, Modernize e Readability. Cada regra é individualmente comutável e configurável através do perfil do projeto. Sem perfil, aplica-se a predefinição interna de cada regra. Os controlos das regras estão desativados a menos que o interruptor principal esteja ligado.

Para a lista completa de todas as 45 regras — o que cada uma faz, a sua predefinição e o seu grupo — consulte a Cleaner rules reference.

Executá-lo para uma tarefa#

  1. No separador ABAP cleaner, ligue Limpar código antes da ativação e escolha as regras que quer.
  2. Defina Release ABAP alvo para o release do seu sistema.
  3. Clique em Guardar.
  4. No Chat, marque Limpar esta tarefa na tarefa que quer limpar. O cleaner corre antes de o agente escrever ou ativar o objeto.

Como o cleaner preserva o comportamento, é seguro deixá-lo ativado — vai arrumar e modernizar o código que o agente produz sem mudar o que ele faz. Ajuste regras individuais para corresponder ao estilo da sua equipa.