Livrei-me finalmente dos prefixos
Demorei muitos anos mas finalmente livrei-me do raio dos prefixos.
Durante 20 anos escrevia as variáveis assim:
GT_T001 = tabela interna, global da T001
LS_T001 = estrutura local da T001
IV_BUKRS = parâmetro de entrada, empresa
RV_MATNR = parâmetro de retorno com código de material
GO_CONSTS = referência para instância de classe de constantes
Depois deixei de usar o L
de local e o V
de value. Os que não têm L
são implicitamente locais e os que não têm V
são implicitamente valores:
GT_T001
S_T001
I_BUKRS
R_MATNR
GO_CONSTS
Há alguns anos atrás decidi experimentar seguir o conselho do Clean ABAP e abandonar os prefixos todos. Isto só foi possível porque as minhas classes e métodos são tão pequenos e as variáveis têm nomes tão intuitivos que não preciso dos prefixos para entender o que fazem:
T001_LIST
T001
COMPANY
R_MATERIAL
CONSTANTS
Finalmente há coisa de um ano decidi seguir o conselho do Clean ABAP para chamar sempre RESULT
ao parâmetro de retorno de um método. Passou a ser muito mais claro qual a variável a preencher com o resultado. E como o nome do método descreve o que faz fica sempre claro o que é que cada RESULT
representa:
T001_LIST
T001
COMPANY
RESULT
CONSTANTS
Portanto, como naqueles anúncios de produtos para emagrecer, aqui fica o antes e o depois:
GT_T001 => T001_LIST
LS_T001 => T001
IV_BUKRS => COMPANY
RV_MATNR => RESULT
GO_CONSTS => CONSTANTS
E tu, ainda usas prefixos? Se sim, reflecte sobre isto: quando programas em Python ou em C++ não usas prefixos. Porquê? Porque o ABAP é provavelmente a única linguagem de programação em que se considera normal e desejável usar tantos prefixos. Mas não tem de ser assim.
Obrigado Frank Kehren pela foto.
O Abapinho saúda-vos.