Buenas prácticas de variables: ámbito, inicialización y nombres claros
Declara datos temporales y evita dependencias implícitas entre llamadas.
Descripción general
Declarar e inicializar antes de usar. Local prevista como numérica sin valor contiene Nil, no cero. Asignar nombre inexistente en AdvPL puede crear Private implícita: error de escritura puede cambiar lógica sin error esperado. Preferir Local para temporales; reservar Static para estado persistente entre llamadas y documentar Private/Public exigidas por frameworks legados. Nombres deben explicar intención y tipos esperados ser coherentes. (TOTVS, s.f., refs. 1–2)
Retorno
No hay retorno único: se trata de un flujo compuesto.
Ejemplo comentado
#Include "Protheus.ch"
User Function EdVars()
Local nCantidad := 3
Local nValorUnitario := 10
Local nTotal := 0
// Todos los operandos estan inicializados.
nTotal := nCantidad * nValorUnitario
ConOut(cValToChar(nTotal))
Return NilResultado esperado: 30; sin estado global creado. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- Revisar nombres y dependencias dinámicas. No transportar secretos en Public ni cachear en Static sin invalidación.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.