Arquivo

Archive for março \25\UTC 2009

Regras para Nomes – Naming Conventions

As convenções para nomes tornam os programas mais compreensíveis, mais fáceis de ler. Eles podem nos ajudar a identificar, por exemplo, quando temos uma constante, um pacote ou uma classe. Isto pode ser de muita ajuda para entendermos o código.

Vejamos como são essas convenções:
composta,

  • Subrotinas ou funções  Os métodos devem ser verbos, se tiver mais de uma palavra, definimos a primeira palavra com a inicial minúscula e as restantes com a inicial maiúscula.
    Exemplo: &pegarFundo()
  • Variáveis  As variáveis também devem ser definidas com a inicial minúscula e as restantes com a inicial maiúscula. a primeira letra deve ser sempre maiúscula. Tente fazer com que o nome de suas variáveis seja simples e descritiva. Use palavras inteiras, evite acrônimos e abreviações (a menos que as abreviações sejam muito mais usadas do que a forma completa, como URL ou HTML)
    Exemplo: $tamanhoTotal
  • FILEHANDLES  Os manipuladores de arquivos devem ser todas em maiúsculo separando as palavras por underscores (“_”)
    Exemplo: MAX_WIDTH = 999; 

Os nomes das variáveis devem ser curtas porém objetivas.

A escolha do nome das variáveis deve ser mnemônica – isto é, projetadas para que o observador comum compreenda a sua função. Variáveis de apenas uma letra devem ser evitadas, exceto para variáveis temporárias que serão descartadas. Nomes comuns para variáveis temporárias são i, j, k, m, e n para numéricos integers; c, d, e e para caracteres (strings);

Perl Code Conventions
[ 1 | 2 | 3 | 4 | 5 | 6 ]

Anúncios
Categorias:Artigos

Regras de Instruções, Loop e Retornos

Quando estivermos definindo as instruções/expressões do programa devemos nos lembrar de que não podemos ter mais de uma instrução por linha. Muito menos querer agrupar múltiplas instruções, a menos que tenhamos um motivo óbvio.

As instruções compostas são instruções que contem listas de ações dentro de suas chaves “{ e }“

O conteúdo dentro da instrução composta deve ser indentado sempre um nível para dentro da declaração da instrução. A chave de abertura “{“ deve ser aberta no fim da linha onde se declara a instrução.

Já a chave de encerramento”}“ deve ficar em uma única linha, que por sua vez esta estará indentada com a do inicio da instrução. As “chaves” devem ser usadas para circundar instruções, mesmo se estas forem compostas de apenas um elemento de um if-else ou for, por exemplo.

Isto irá evitar que acidentalmente causemos erro no código do programa por adicionar instruções sem incluirmos as chaves.

Comandos de retorno e loop

As instruções de retorno (return) não devem usar parênteses, a menos que esta seja de declaração óbvia, como a definição dos parâmetros de uma função.

Quando estivermos trabalhando com a instrução for devemos estar atentos para não colocar mais do que três variáveis de inicialização e atualização, pois isto tornaria o código mais complexo.

Se precisar, podemos usar instruções separadas antes do loop (para cumprir a clausula de inicialização) ou no fim do loop (para atualizar o loop).

Perl Code Conventions
[ 1 | 2 | 3 | 4 | 5 | 6 ]

Categorias:Artigos

Regras para Declaração de Variáveis

Para melhor aproveitar esses comentários, devemos definir todas as declarações na mesma colocação, ou seja, logo depois de começar um bloco. Um bloco é qualquer código rodeado por { e } .

Não devemos esperar para declarar variáveis quando formos precisar delas; isto pode confundir um programador descuidado e embaralhar o escopo do código.

Os comentários podem funcionar muito bem se juntamente optarmos por fazer declarações únicas por linha, ainda mais quando temos variáveis de tipos diferentes.

Nunca devemos misturá-las, ao contrário, devemos separar em outra linha e comentar o que cada variável faz. Isso encorajará novos comentários.

Outro erro que precisa de atenção é o de declarar variáveis locais com nomes iguais a de outras variáveis de nível superior.

Devemos tentar iniciar uma variável local logo quando ela é criada. O único motivo para não se fazer isso é quando o seu valor depende primeiramente de algum processamento computacional.

As funções ou partes de código devem ser formatados sem espaço entre o nome do método e o parêntese “(“ que dá inicio a lista de parâmetros.

O sinal de abrir chave “{“ de um método ou classe deve aparecer sempre no fim da mesma linha da declaração. Já o sinal de fechar chave “}” deve começar em uma linha em branco indentada juntamente com o correspondente que abriu a instrução. Os métodos são separados por uma linha em branco.

Evite definir varias variáveis em uma única declaração. Isto dificulta a leitura.

Não use o operador de incremento de valor em um local que possa facilmente confundir com o operador de igualdade.

Não use várias definições de valor como tentativa de melhorar a performance do programa. Isto é tarefa para o compilador, e na prática, isto dificilmente ajuda.

Use parênteses para separar uma expressão das outras para evitar problemas com a precedência de operação.

Mesmo se a operação parecer clara para você, ela pode não ser para outros – você nunca deve supor que os outros programadores sabem o mesmo que você.

O nome de uma variável Perl deve conter somente caracteres, números e/ou underlines.

  • As variáveis devem começar com um sinal especial (como $, @ % etc), seguido do nome da variável. Estas siglas identificam qual o tipo da variável scalar, array, ou hash
  • O primeiro caractere deve ser um underline ou uma letra.
  • Os nomes das variáveis são case sensitive. Então as seguintes variáveis $var, $VAR, $VaR, são todas diferentes uma das outras.
  • Nomes válidos para variáveis Perl são:
    $nome, $_yy, $PI , $data1, $db2nome
  • Nomes inválidos para variáveis Perl são:
    • $1dd (pois deve começar com letra ou underline)
    • $nome# (o caractere especial # não é permitido)
    • $nome@20 (o caractere especial @ não é permitido)
    • variavel (não há nenhuma sigla que identifica o tipo da variável)

 

Perl Code Conventions
[ 1 | 2 | 3 | 4 | 5 | 6 ]

Categorias:Artigos

Indentação de Código e Comentários

25 março, 2009 2 comentários

Outro fator essencial para a organização do código e boa legibilidade é a indentação do código.

Sempre devemos usar quatro espaços como unidade de medição.

O comprimento de uma linha não pode exceder 8 caracteres, deve ser de no máximo 70 caracteres.

Um comprimento maior poderia causar problemas na hora de imprimir o código, por exemplo.

Quando formos quebrar linhas por falta de espaço, devemos nos lembrar dos seguintes princípios:

  • Sempre podemos quebrar linha após uma vírgula ou antes de um operador.
  • É melhor optar por quebras maiores do que por quebras menores.
  • O alinhamento da nova linha deve ser junto com o começo da expressão iniciada na linha anterior.Mas se essas regras estiverem causando confusão ou espremendo a margem direita, então apenas indente 8 espaços.

Leia mais…

Categorias:Artigos

Organização dos Arquivos

O nome de um arquivo Perl deve conter uma das seguintes extensões:

.pl – para programas escritos em Perl
.cgi – para programas Web independente de linguagem

As convenções de código dizem que o arquivo de código-fonte deve ser composto de seções separadas por linhas em branco juntamente com um comentário identificando cada seção.

Não é recomendado fazer arquivos que excedam 2000 linhas de código, pois isto pode gerar incômodo ao programador, além de dificultar sua compreensão.

Para padronizar a estrutura dos arquivos de código-fonte, devemos seguir algumas regras.

  1. Deve-se iniciar o programa informando o local do interpretador
  2. Começa o arquivo de código-fonte com comentários introdutórios
  3. Faz a declaração dos pacotes usados (use)
  4. Em seguida, faz-se a declaração do que primeiro aparecerá ao usuário
  5. Os comentários introdutórios devem seguir o estilo Linux de programação, contendo a data, a notícia de copyright e uma breve descrição do propósito do programa.
  6. Os pacotes devem ser as primeiras declarações não-comentadas do código.
  7. Antes de declararmos cada tela que aparecerá ao usuário, podemos fazer um comentário descritivo sobre a mesma. Depois de colocarmos a tela, podemos comentar sobre como implementá-la, se necessário.

Para declararmos as variáveis devemos seguir a seguinte ordem:

  1. As estáticas devem ser declaradas primeiramente
  2. E por ultimo os métodos genéricos.

Os métodos devem ser agrupados por funcionalidade, e não por escopo ou acessibilidade.

Não importa se um método de classe privada tiver no meio de dois métodos públicos. O objetivo é tornar o código mais legível e compreensível.

Perl Code Conventions
[ 1 | 2 | 3 | 4 | 5 | 6 ]

Categorias:Artigos

Code Conventions – Por que utilizar?

As convenções de código são técnicas comumente adotadas pelos grandes programadores em todas as linguagens, mas o que são essas convenções e qual a sua importância?

Primeiramente devemos tomar nota de que 80% do custo geral de um software vai em manutenções.

Segundo, dificilmente algum software será mantido por toda sua vida pelo mesmo autor.

Terceiro, as convenções de código aprimoram a legibilidade do programa, permitindo a especialistas entenderem o código de forma mais rápida e claramente.

E por último, se você for querer publicar seu código, certamente desejará ter como produto final um código bem formatado e limpo, não é mesmo?

Vamos então conhecer as regras para definição de código no Perl.

 

 Perl Code Conventions
[ 1 | 2 | 3 | 4 | 5 | 6 ]

Categorias:Artigos

Array no Perl

Um tipo de variável comum em quase todas as linguagens de programação é a Array. Vamos aprender como utilizá-la dentro do Perl.

As Arrays (arrêis) são um tipo de variável que armazenam dados em forma de lista. Cada objeto da lista é chamado de elemento, e estes elementos – no Perl – podem ser tanto strings como numéricos, ou qualquer outro tipo de dados inclusive uma outra variável.

Criando um Array

  1. Uma array é declarada no Perl com o símbolo (@).
  2. Após o simbolo, informamos o nome, por exemplo, @meses.
  3. Para definirmos os valores, devemos então abrir um colchete “(“.
  4. Definimos os valores. (Se for string, podemos colocar entre aspas)
  5. Fechamos a lista com o  colchete “)”

Esta é a simples síntaxe dos arrays no Perl. Quando estamos listando os valores da lista, podemos quebrar ela em várias linhas para que fique fácil de entender, porém, não podemos esquecer de fechar o colchete que informa ao Perl que a lista se encerra ali.

Exemplo:

@meses = (“Janeiro”,
   “Fevereiro”,
   “Março”,
   “Abril”,
   “Maio”,
   “Junho”,
   “Julho”,
   “Agosto”,
   “Setembro”,
   “Outubro”,
   “Novembro”,
   “Dezembro”);

 Acessando um Array

Depois que criamos o array, todo o conjunto poderá ser acessado se chamarmos @meses, mas se quisermos também podemos acessar o conteudo de apenas um ítem da lista informando sua devida posição da seguinte forma: $meses[POSICAO] onde POSICAO é a ordem que o ítem ocupa na lista.

Toda lista começa sempre em 0 (zero).

Agora digamos que queremos mostrar ao usuário o mês de Janeiro na tela.
Devemos apenas chamar a variável, da seguinte forma:

print $meses[0];

Informamos assima posição 0 (zero) porque Janeiro é o primeiro elemento da lista. 

E para acessar o último elemento da lista?

 print $meses[11];

Isto irá mostrar Dezembro. Porque Dezembro é o ítem que ocupa a 11º posição da lista @meses.

Tamanho de um Array

Se quisermos mostrar o tamanho de um Array, devemos apenas chamar o nome da Array da seguinte forma: $#array. Isto irá retornar o número de elementos que estão na lista.

Mas lembre-se de que o Perl considera o zero como o primeiro elemento da lista.

No nosso exemplo então, ele retornaria 11 (onze). Caso quisermos obter o número real, podemos usar a expressão $#array + 1;
Se isto fosse feito em nosso exemplo, teríamos como resultado o número 12, porque nossa lista contém 12 elementos se contarmos a partir de 1.


Veja um exemplo completo:
(array.cgi)

#!/usr/bin/perl
print “Content-type:text/html\n\n”;

@meses = (“Janeiro”,
   “Fevereiro”,
   “Março”,
   “Abril”,
   “Maio”,
   “Junho”,
   “Julho”,
   “Agosto”,
   “Setembro”,
   “Outubro”,
   “Novembro”,
   “Dezembro”);
print “O ano começa em “.$meses[0];
print “<br />”;
print “O Natal é um feriado do mês de “.$meses[11];
print “<br />”;
print “O número de meses de um ano é “.($#meses+1);