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 700–799). 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#
- No separador ABAP cleaner, ligue Limpar código antes da ativação e escolha as regras que quer.
- Defina Release ABAP alvo para o release do seu sistema.
- Clique em Guardar.
- 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.
Páginas relacionadas#
- Cleaner rules reference — todas as 45 regras, agrupadas, com predefinições.
- Chat — onde aparece a caixa de verificação Limpar esta tarefa.
- Specifications — entradas de tarefa a partir das quais o agente trabalha.