Boas práticas de variáveis: escopo, inicialização e nomes claros
Declara dados temporários e evita dependências implícitas entre chamadas.
Visão geral
Declare e inicialize variáveis antes do uso. Uma Local numérica sem valor contém Nil e não pode participar de uma soma como se fosse zero. Em AdvPL, atribuir a um nome inexistente pode criar Private implicitamente: um erro de digitação pode alterar a lógica sem o erro esperado. Prefira Local para dados temporários; reserve Static para estado que precise sobreviver entre chamadas e documente dependências de Private/Public exigidas por frameworks legados. Nomes devem explicar intenção, mantendo o tipo esperado consistente ao longo do fluxo. (TOTVS, s.d., refs. 1–2)
Retorno
Não há retorno único: trata-se de um roteiro composto.
Exemplo comentado
#Include "Protheus.ch"
User Function EdVars()
Local nQuantidade := 3
Local nValorUnitario := 10
Local nTotal := 0
// Todos os operandos estao inicializados.
nTotal := nQuantidade * nValorUnitario
ConOut(cValToChar(nTotal))
Return NilResultado esperado: 30; nenhum estado global criado. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Revisar nomes digitados e dependências dinâmicas. Não usar Public para transportar segredo nem Static como cache sem política de invalidação.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.