advpl-tlpp-named-paramslisted
Install: claude install-skill JoniPraia/plugadvpl
# advpl-tlpp-named-params — Parâmetros Nomeados em TLPP
Recurso da linguagem TLPP (não disponível em ADVPL clássico) que permite passar argumentos pelo nome formal usando o operador **`=`** (igualdade). Elimina placeholders `,,,nil,`, libera ordem livre e torna chamadas autodocumentadas.
Skill complementar à [[advpl-tlpp]] (base TLPP: namespaces, classes, annotations, tipagem opcional). Esta skill foca no operador `=` no call site.
## Operador correto — `=` (igualdade)
```tlpp
// CERTO: operador é '=' (igualdade)
xParams(p2=b, p1=a, p6=f)
// ERRADO: ':=' é atribuição, não funciona como named arg
xParams(p2:=b) // compile error
// ERRADO: ':' é send-message a objeto, não named arg
xParams(p2:b) // compile error / interpretado como mensagem
```
Confusão comum porque outras linguagens usam `:=` ou `:` para named args. Em TLPP é literalmente `=`.
## Quando usar
- Funções com 3 ou mais parâmetros.
- Funções com parâmetros opcionais (omitir os irrelevantes).
- Refactor de `Static Function` legada com assinatura longa.
- Sempre que clareza > brevidade no call site.
- Funções de validação/configuração que aceitam várias chaves opcionais.
## Quando N��O usar
- Função com 1-2 parâmetros triviais (overhead sintático sem ganho).
- Hot path com micro-otimização (overhead não medido, mas presumível).
- Build do AppServer abaixo dos mínimos (ver tabela abaixo) — operador `=` não é reconhecido.
## Pré-requisitos
| Requisito | Por quê |
|-----------|---------|