Olá
Hoje irei abordar a segunta parte do artigo sobre documentação e boas práticas de programação.
A enfâse dessas sugestões, são relacionadas à linguagem PHP, mas podem ser aplicadas em qualquer linguagem. Antes de prosseguirmos é necessário deixar claro qual o motivo em se criarpadrões de codificação dentro de uma empresa ou equipe de desenvolvimento : Tempo.
Pessoas não pensam da mesma maneira,quanto mais programadores.Talvez a pior tarefa que possa surgir, e isso com certeza quase todos que trabalham nessa área sabem, é a manutenção “cega” de um sistema com o qual esse programador jamais teve contato.
Quando não há documentação apropriada (e quase nunca há), a compreensão da lógica utilizada pelo criador do sistema é uma tarefa sofrível, que por vezes requer habilidades paranormais, e se extende por vários e vários dias.
Isso com certeza é um assunto de muitas discuções, por isso deixo claro que esse artigo aborda apenas uma sugestão, não uma regra.
Iniciaremos com a formatação.
A formatação deve permitir ao desenvolvedor uma visualização clara e rápida do código, permitindo que seja facilmente compreendida em qualquer editor de texto, IDE, etc…
Há muito tempo são utilizadas fontes pré-definidas como Courier, Courier New, Bitstream entre outras.
É possivel deduzir o motivo, são fontes sem “serifas”, de fácil visualização. Com essas fontes é possível controlar de maneira homogênea a largura das linhas e colunas a que o código é submetido. Além disso, essas fontes foram projetadas para serem claras, sem nuances gráficos, não permitindo a confusão do programador.
A largura da página do código por padrão é definida em 80 colunas, isso porque quando utilizada a fonte especificada, a impressão em formato A4 não deforma a identação do código, assim como a possibilidade da utilização de um terminal em alguma manutenção remota.
A tabulação deve seguir 4 espaços, afim de evitar o “stress” com a identação por meio de espaços, também facilita a organização do código, visto que a maioria dos editores permitem o controle do número de espaços representados pelo “tab” sendo o código facilmente redimensionado quando necessário.
No PHP, existem sintaxes alternativas para estruturas de controle, sendo em algumas, dispensado o uso de chaves, como por exemplo :
if( $a == "A" ):
print "A";
elseif( $a == "B" ):
print "B";
else:
print "nenhum";
endif;
Essa estrutura em caso de instruções muito grandes, podem confundir o programador, por isso é aconselhavel se evitar o máximo sintaxes alternativas, operadores ternarios, assim como a supressão de chaves, pois inevitavelmente pode ser necessário a utilização de um comando adicional nessas estruturas.
Nomenclatura.
A definição de nomes é simplesmente o coração de toda codificação. Antigamente acreditava-se que se saber o verdadeiro nome de alguém lhe garantia muito poder sobre essa pessoa. O que sabemos é que, nomes expressivos como “x”, “aux”, “x1”, “x2”, etc, são a maior falta de criatividade, salvo em caso de pequenos loops, aonde a variável realmente não tem um significado importante.O nome da variável, método, contante etc ,deve representar seu significado o mais fiel possível, como por exemplo, um método que retorne o horário de trabalho do funcionario - recuperaHorarioFuncionario() - , ou uma variavel que guarda o dia atual da semana - $dia_atual.
A não ser que você deseje muito ver o próximo sofrendo, utilize um pouco mais de tempo para criar esses nomes, além da boa vontade.
Algumas dicas que ajudam quanto à criação de nomes:
Quando utilizar termos opostos, seja preciso.Por exemplo, use $first/$last ao invés de $first/$end.
No caso de loops longos, utilize índices com nomes significativos. Utilize índices pequenos (como $i) para loops pequenos, sem nenhum complicador
Exemplo :
for( $windowIndex = 0; $windowIndex <= $windowCount; $windowIndex++ ) { /*...*/ }
Sempre que possível utilize #defines para valores muito abstratos.
Não economize nos nomes de variáveis, seja claro. A variável temp é de temporário ou temperatura? E se é temporário, é temporário do que?
Variáveis booleanas devem ter nomes que possam assumir apenas os valores true ou false.
Para um maior conhecimento sobre nomenclaturas de componentes do código fonte, pesquise sobre
Notação Húngara de Charles Simonyi. Atualmente acredito que esteja um pouco em desuso, mas vale pela informação.
Arquivos
A nomenclatura de arquivos possui regras simples, como *.class.php ou *.inc.php para classes, devendo se evitar a extenção *.inc apenas, por motivos se segurança.
Adicione ->
|
|
|
|
|
|
|
|
|
|
|
|
|
Recent Comments