0

A Importância da Indentação na Programação

criado por Thiago Alves Goulart em 11/08/2002 9:54pm
Com o grande desenvolvimento das linguagens de programação para internet, precisamos entender e assimilar a importância da organização na escrita dos códigos, pelo simples fato de estarmos, cada vez mais, precisando trabalhar em grupo.

Um grande e fundamental ponto na organização de escrita de códigos é a identação. Identar é organizar horizontalmente de forma hierárquica as linhas de código, de acordo com o escopo onde elas se encontram. O algorítmo abaixo, exemplifica isto.

Variavel A = 0
SE (Variavel A < 1) ENTÃO
    ESCREVA "Variável A é menor que 1."
FIM SE

Observe que o comando ESCREVA está adiantado em relação aos outros comandos, que fazem parte do escopo principal do algorítmo e estão alinhados à margem. Isto ocorre porque o comando ESCREVA não pertence diretamente ao escopo do principal do programa, e sim ao escopo condicional SE..ENTÃO...FIM SE.

A identação independe da linguagem de programação que usamos. Mas ela varia um pouco de acordo com a linguagem e tem comportamentos que são convencionados de acordo com o uso dessas linguagens. Não existe uma regra definida para identação. Um exemplo prático pode ser dado se quisermos passar o algorítmo citado acima para um script PHP. Veja a seguir algumas formas de se indentar o algorítmo visto anteriormente:

Forma tradicional:

<?php
$a=0;
if ($a<1) {
     echo "$a é menor que 1.";
}
?>

Forma convencional:

<?php
$a=0;
if ($a<1) {
     echo "$a é menor que 1.";
     }
?>

Podemos notar que as diferenças são mínimas. Ambas as formas são aceitas por programadores PHP e são bem mais legíveis do que se escrevêssemos diretamente, ou seja, com todas as linhas coladas à margem, sem identação. Observe como ficaria o código acima sem identação e compare:

<?php
$a=0;
if($a<1){
echo "$a é menor que 1.";
}
?>

ou

<?php
$a=0;if($a<1)echo"$a é menor que 1.";
?>

Percebeu a diferença? Talvez não percebamos a diferença a princípio, porque temos um código com apenas quatro linhas, mas se pretendemos algum dia escrever um código com 40, 400, ou 4000 mil linhas é bom que nos acostumemos a usar a identação para economizar tempo e facilitar a leitura de nossos códigos por parte de nossos colegas de trabalho.

Na próxima página apresentarei as formas mais comuns de identação para controladores de fluxo usados em PHP.

Comentários:

Mostrando 1 - 7 de 7 comentários
Yudi Hirata disse:
Quanto ao uso de inicio de bloco({, begin) e fechamento de bloco( }, end ) com uma única instrução concordo que atrapalha um pouco, para mim polui o código.
Agora uma pergunta que sempre me intriga é por que determinados programadores escrevem desta maneira em uma linguagem
"
if ( a < 1 ) {
echo "$a é menor que 1.<br>";
.
.
.
}
"
e desta em outras
"if ( a < 1 )
begin
ShowMessage(a+" é menor que 1");
.
.
.
end;
"
Por que não se escreve desta maneira em linguagens que possuam sintaxe parecida com C

"
if ( a < 1 )
{
echo "$a é menor que 1.<br>";
.
.
.
}
"

26/08/2002 9:37am (~14 anos atrás)

Eu aprendi a progamar em Pascal, e sempre gostei de usar o begin e o end assim como eu sempre inicio e termino o escopo de uma verificacao condicional, em PHP, com { e }, respectivamente.


Um abraço e obrigado pelo comentário.



17/08/2002 10:06am (~14 anos atrás)

Acredite.... em uma empresa onde há gerenciamento de projeto, a identação é requisito para o gerente. Mas por quê?
Pelo seguinte fato.... o profissional recebeu uma proposta melhor, ou não se adaptou as metodologias da empresa e tchau. O que acontece com o DTI da empresa? Como decifrar o q ele fez. onde começa ou termina tal função.
Por tanto, o nosso amigo Thiago Alves Goulart fez um bom trabalho e recomendo, Thiago, que estude alguma coisa sobre documentação de software que eh muito mais importante do que uma simples indentação.
Parabéns pelo artigo.

Italo Marcelo.
15/08/2002 1:20pm (~14 anos atrás)

Caro Sr. Wellington Costa de Almeida,

Até entendo que o senhor ache que vai ser perda de tempo organizar seus código, e até certo ponto concordo, mas acho que em relação ao tempo do que se perde na manutenção dos projetos é muito maior, causando perda de tempo.

Obrigado por expor sua opinião,

Com respeito,

Thiago Alves Goulart
15/08/2002 11:40am (~14 anos atrás)

Bom, o fato dos comentários em cada codigo de um script é muito interessante, pode valer ponto em algumas empresas mas poucos usão tal tecnica.
Outro fato sobre a organização é, um projeto que usse programação sejá ela PHP ou qualquer outra é o exencial mas expecificamente ele jámais ficará organzada, pois na instalação do site, sistema e outros a contradições virão e novos erros ocorrerão!

Sobre o comentário do usso da tecnia em todos os tipos de programãção bom posso discordar.
Estou a + ou - 5 ou 6 anos no ramo de programação iniciei com o PERL que tal tecnica é qua-se que obrgatória, em PHP iniciei e ainda desenvolvi scripts como dever ser do modo mais rapido possivel para ganhar tempo, pois ganho vida com isso em ASP ta tecnica é quase que inutiu e so faria o mesmo perder uma grande grana! levando em consideração que o tempo de programação é bem maior!
14/08/2002 1:15pm (~14 anos atrás)

Caro Skyhawk,

Como eu disse anteriormente, cada um pode usar a identação que achar mais conveniente, porém não devemos fugir muito das forma convencionais e tradicionais quando trabalhamos em equipe.

Você tem toda razão quando diz que não é necessário o uso de chaves quando executamos apenas uma linha de código, pórem eu costumo usá-las mesmo assim para que o código fique o mais claro possível, tanto para os outros programadors, quanto pra mim mesmo.

Agradeço seu comentário

Thiago
14/08/2002 5:44am (~14 anos atrás)

BlackCube,

Muito bem lembrado.

Quando não se trabalha sozinho é importante que comente quase todas as linhs de código, pois um dia podemos não estar mais trabalhando no projeto e acbaremos prejudicando o trabalho de outros programadores e por eventualidade até o nosso.

Quando você faz teste em alguma empresa que pedem para você criar algum script, é importante que se comente o máximo possível, isso vale pontos.
13/08/2002 2:10pm (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)