Tech - Análise Sistemas
Legibilidade de Código - algumas regras
Este artigo tem a finalidade de enfatizar algo que muitas vezes não é levado em consideração quando se está programando: a legibilidade do código, ou seja, se o código é fácil de ser lido e entendido ou se foi escrito de uma forma que se torna cansativo procurar certos trechos ou nomes.
por Davi MedradeEstou escrevendo este artigo para enfatizar algo que muitas vezes não é levado em consideração quando se está programando: a legibilidade do código, ou seja, se o código é fácil de ser lido e entendido ou se foi escrito de uma forma que se torna cansativo procurar certos trechos ou nomes. Existem várias regras para facilitar a legibilidade do seu código-fonte, e vou mostrar uma a uma, mas lembre-se que neste caso, você não deve escolher uma das regras, e sim aplicá-las todas juntas. Isso é muito importante se você precisar compartilhar código-fonte, ou se houver a possibilidade de outro programador obter acesso ao seu código. Usando as regras de legibilidade de código, fica fácil para outro programador entender seus fontes e facilitará futuras alterações, quer feitas por você, quer por outros.
Agora, vamos a cada uma das regras:
1 - Nomear em inglês
Embora vivamos em um país cuja língua é o Português, é sempre recomendável nomear variáveis, rotinas, funções, controles, objetos e tudo que pode ter um nome, em inglês. Invariavelmente, inglês é a língua da programação, portanto, fica até mais bonito um código com nomes em inglês, de modo a não destoar das próprias palavras reservadas da linguagem usada, sem contar que não podemos usar acentos, portanto, nomes de variáveis podem ficar ridículos sem a devida acentuação. Veja o exemplo de código em VB:
Listagem 1: Comparação de variáveis em português em inglÊs
If bEstaAtivo = True Then For iIndice = 0 To UBound(astrNomesDeArquivos) Print #iNumeroArq, astrNomesDeArquivos(iIndice) Next iIndice End If Suponho que o seguinte fica bem melhor: If bIsActive = True Then For iIndex = 0 To UBound(astrFileNames) Print #iFileNum, astrFileNames(iIndex) Next iIndex End If
2 - Usar Notação Húngara e Convenções de Nomeação
A notação húngara consiste em colocar-se prefixos nos nomes de variáveis, de modo a facilmente se identificar seu tipo. Isto facilita na criação de códigos-fonte extensos, pois usando a Notação Húngara, você não precisa ficar o tempo todo voltando à definição de uma variável para se lembrar qual é o tipo de dados que deve ser colocado nela. Outra coisa estabelecida pelas Convenções de Nomeação é que funções e rotinas devem ter nomes iniciando em maiúsculas e deve ser maiúscula a inicial de cada uma das palavras que forma o nome; variáveis devem ter um prefixo de Notação Húngara em minúsculas, seguido de um nome que identifique a função da variável, sendo que a inicial de cada palavra deve ser maiúscula; constantes devem ter seus nomes todos em maiúsculas, e sempre que possível, com as palavras separadas por underscores (_). Exemplos:
Variável tipo Matriz (array) de Inteiros (integer) que contem o número de conexões ativas: aiActiveConnections
Função que retorna o nome da pasta atual: GetCurrentFolder
Rotina que seta a pasta atual: SetCurrentFolder
Constante com o número máximo de conexões que podem estar ativas: MAX_ACTIVE_CONNECTIONS
Alguns prefixos de notação húngara, adaptados para o VB:
a: Array
b: Boolean
by: Byte (ou c: Char)
d: Float (Double Precision)
f: Float (Single Precision)
h: Handle
i: Integer (também é usado int)
l: Long Integer (também é usado lng)
m_: Membro de uma determinada classe, como uma propriedade de um ActiveX (armazene o valor da propriedade CurrentUser do ActiveX em m_strCurrentUser) str: String
u: Unsigned (sem sinal, deve ser usado com um prefixo de número, tipo: uintValue)
Se o tipo que você quer não tem um prefixo de notação húngara definido, crie um, com até 3 letras. Por exemplo:
cmdOK : Botão (CommandButton) OK
lvwFiles: ListView (parte dos Windows CommonControls) que contém os nomes de arquivos
picIcon: PictureBox que contém o ícone
frmMain: Janela (Form) principal de uma aplicação
atxtNames: Array de TextBoxes que contém nomes
3 - Tabulação e Quebra de Linha
Tabulação e quebra de linha são coisas que não são muito usadas, principalmente pelos programadores iniciantes, que acham que é besteira e perda de tempo, mas na verdade, a tabulação e a quebra de linha são fundamentais para a boa compreensão do código-fonte. Faça a comparação:
Listagem 2: Comparação entre código formatado e não formatado
If bIsActive = True Then For iIndex = 0 To UBound(astrFileNames): Print #iFileNum, astrFileNames(iIndex): Next iIndex End If Ou será que este não é mais legível: If bIsActive = True Then For iIndex = 0 To UBound(astrFileNames) Print #iFileNum, astrFileNames(iIndex) Next iIndex End If
Tire suas próprias conclusões.
Espero que isto ajude a melhorar a legibilidade do seu código.
Outra dica: NUNCA use a instrução GOTO.
Davi Medrade
Programador de VB, C++ e PHP
- A análise de sistemas na construção de softwaresAnálise Sistemas
- ERP: problema ou soluçãoAnálise Sistemas
- Análise e Especificações de RequisitosAnálise Sistemas
- ModalDialog com aplicações ASP.NETC#
- Integração com redes sociais, como fazer - TinyURL, Twitter e FacebookC#