Академический Документы
Профессиональный Документы
Культура Документы
Sistemas de Informação
Algoritmos e Estruturas de Dados
Profa. Michelle Nery Nascimento
Qualidade de Código
Para determinarmos se um programa é bom, diversos fatores devem ser analisados. Entre eles,
alguns mais importantes são:
- Se o programa está correto, se é eficiente e se é de fácil utilização. Neste caso, estar
correto depende dos métodos de desenvolvimento utilizado e dos testes que foram realizados.
Eficiência diz respeito a dois conceitos: eficiência de tempo – quando economiza-se tempo de
processamento para realizar determinada tarefa e eficiência de espaço – quando economiza-se
memória disponível.
- Um outro fator que deve ser analisado quando nos referimos à qualidade de software é
se o programa é fácil de ser alterado, seja para correções ou para atualizações. Neste sentido,
devemos analisar alguns fatores básicos para garantir a qualidade de um software. Alguns deles
são:
• Indentação
• Comentários
• Documentação
• Escolha dos identificadores (nomes de classes e variáveis)
• Uso de comandos e desvios incondicionais
• Return dentro de métodos
• Modularização
Exemplo:
Uso de comandos e desvios incondicionais: alguns comandos e desvios dentro do código não
devem ser utilizados. São eles:
• go to
• break
• continue
• return (terminando laço de repetição)
Return dentro de métodos: é desejável apenas um return dentro de métodos pois muitas vezes,
o uso de mais de um return dentro de um método pode gerar confusão, como ocorre quando há
uma relação de dependência entre funções através do comando return.
Exemplo. Imagine um código no qual o método posicaoDe seja utilizado para verificar se um
elemento x está presente em um vetor v contendo n elementos; se x estiver presente no vetor,
então será retornada a posição da primeira ocorrência de x, senão, será retornado o valor -1.
O maior problema deste método é utilizar o seu valor de retorno para duas finalidades distintas.
Para tornar o acoplamento o menor possível é necessário que suas classes e objetos estejam o
mais isolados possível, neste contexto, temos a ideia do encapsulamento. O encapsulamento
protege o acesso direto aos atributos de um objeto fora da classe onde estes foram declarados.
Esta proteção consiste em se usar modificadores de acesso mais restritos sobre os atributos
definidos na classe. Depois devem ser criados métodos para manipular de forma indireta os
atributos da classe.
Exemplo:
Sem encapsulamento:
class semEncapsulamento
{
int desprotegido;
}
Com encapsulamento:
class encapsulado
{
private int protegido;
Uma das filosofias mais adotadas no mundo todo e amplamente evangelizada pelos maiores
nomes da programação, independente de linguagem é o DRY (don't repeat yourself) – Não se
repita.
DRY é mais do que apenas uma boa prática de programação, é uma filosofia que envolve evitar
repetições. Trechos de códigos repetidos, na maior parte dos casos, somente tornam o código
mais obscuro e inconsistente. Quando DRY é aplicado com sucesso em um sistema, a
modificação de um único elemento não afetará nenhuma outra parte do sistema, com exceção de
elementos intrincadamente relacionados.
KISS é um princípio geral que valoriza a simplicidade de projeto e defende que toda a
complexidade desnecessária seja evitada. KISS é uma filosofia de programação que “prega” a
simplicidade, partes pequenas (módulos) que se unem para resolver um problema maior.