A forma mais clara de se usar o alinhamento horizontal é agrupar palavras iguais e ordenadas alfabeticamente de modo crescente. Por exemplo:
#INCLUDE "TOTVS.CH" Function HorizontalVariableAlignment() Local cCharacters := "" Local nIntegers := 0 Local lTrueOrFalse := .T. Private lFalseOrTrue := .F. Private cMoreChars := "" Public cOthersChars := "" Public cStrings := "" Static lThisIsTrue := .T. Return
Assim, caso houver muitas variáveis, a busca por uma específica será mais prática; Você irá buscar pelo escopo da variável (ordenado alfabeticamente e de modo crescente), depois pelo nome (também ordenado alfabeticamente e de modo crescente, porém ignorando a notação húngara). Note também que a distância dos tipos e dos nomes em relação ao inicio da linha é o mesmo.
O mesmo princípio se aplica a condicionais simples e complexas:
#INCLUDE "TOTVS.CH" Function HorizontalConditionAlignment() Local lVar1 := .T. Local lVar2 := .F. Local lVar3 := .T. Local lVar4 := .F. Local cVar5 := "" Local cVar6 := "" If lVar1 .And. !lVar2 ConOut("Por enquanto está tudo bem.") If (lVar1 .Or. !lVar2) .And.; (lVar3 .Or. !lVar4) .And.; (cVar5 == "" .And. cVar6 == "") ConOut("Entrou.") EndIf EndIf Return
A organização exemplificada pode variar caso a caso, o importante é manter as condicionais complexas legíveis e de fácil interpretação. Na maioria dos casos, deve-se quebrar a condição em condições encadeadas e simples.