sábado, 14 de fevereiro de 2009

1.3 Dicas de Programação

Não é nosso propósito neste livro para ensinar-lhe como programar, apenas a forma de programar melhor. Assumimos que você esteja familiarizado com os conceitos fundamentais, tais como variáveis, declarações condicional (por exemplo, if-then-else, case), iteração primitivas (por exemplo, for-do,
while-do, repeat-until), subrotinas e funções. Se você não estiver familiarizado com estes conceitos você pode ter pego o livro errado, mas comprar de qualquer jeito para uso posterior.

É importante perceber quanta energia existe no que você já conhece. Em princípio, todos os interessantes algoritmo / programa podem ser construídos a partir daquilo que se aprende em um primeiro curso de programação. Os recursos poderosos de linguagens de programação modernas não são realmente necessários para construir coisas interessantes - apenas para fazê-las em mais limpo, melhores maneiras.

Dito de outra forma, torna-se um bom escritor não aprendendo vocabulário palavras adicionais, mas por encontrar algo para dizer. Após um ou dois cursos de programação, você sabe todas as palavras que você precisa compreender. Os problemas neste livro esforçamos para dar-lhe algo de interessante a dizer.

Nós oferecemos um pequeno número de dicas de codificação de baixo nível, que são úteis na construção de programas de qualidade. Os maus exemplos vêm de todas as submissões para o robô real juiz.

• Escreva os primeiros Comentários - Iniciar os programas e procedimentos por escrito algumas frases explicando aquilo que é suposto fazer. Isto é importante porque, se você não consegue escrever esses comentários, você provavelmente não entende muito bem o que o programa faz. Às vezes é muito mais fácil para depurar nossos comentários do que os nossos programas, e acreditamos que o tempo adicional digitado é muito bem gasto. Claro que com o tempo de pressão de um concurso vem uma tendência a entrar em desleixo, mas faça-o em seu próprio risco.

• Documentar cada variável - Escrever um comentário de uma linha de cada variável quando você declará-lo assim que você sabe o que faz. Novamente, se você não consegue descrevê-lo facilmente, você não sabe por que ela está lá. Você provavelmente vai estar a viver com o programa por pelo menos um depurar alguns ciclos, e este é um investimento modesto de legibilidade, no qual você venha a apreciar.

• Utilize Simbolos Constantes - Sempre que você tem uma constante em seu programa (tamanho de entrada, constante matemática, tamanho de estrutura dos dados, etc) declarar o que será, no topo do seu programa. Horrivelmente insidiosos erros podem resultar do uso inconsistente de constantes em um programa. Obviamente, o nome simbólico contribui apenas se você realmente utilizá-lo em seu programa sempre que você precisar da constante. . .

• Utilize Tipos enumerados por uma razão - enumerou tipos (ou seja, tais variáveis simbólicas Booleans (true, false)) podem ser ótimos auxiliares para a compreensão. No entanto, são muitas vezes desnecessários em programas curtos. Nota: este exemplo que representa o naipe (paus, diamante, coração, espada) de um baralho de cartas:

switch(cursuit) {
case ’P’:
newcard.suit = P;
break;
case ’D’:
newcard.suit = D;
break;
case ’C’:
newcard.suit = C;
break;
case ’E’:
newcard.suit = E;
...

Não há novas clareza resulta da utilização da enumerou variáveis (P, D, C, E) sobre o carácter original representação ( 'P', 'D', 'C', 'E'), só novas oportunidades de erro.

• Utilize subrotinas Para Evitar Códigos Redundantes - Leia o seguinte fragmento de fragmento a gerir o estado de uma placa retangular, e pense como você pode encurtar e simplificá-lo:

...
while (c != ’0’) {
scanf("%c", &c);
if (c == ’A’) {
if (row-1 >= 0) {
temp = b[row-1][col];
b[row-1][col] = ’ ’;
b[row][col] = temp;
row = row-1;
}
}
else if (c == ’B’) {
if (row+1 <= BOARDSIZE-1) {
temp = b[row+1][col]; b[row+1][col] = ’ ’;
b[row][col] = temp; row = row+1;
}
}
...

Em todo o programa, houve quatro blocos de três linhas de cada um valor que se deslocam para uma célula vizinha. Mistyping um único + ou - teria consequências letais. Seria muito mais seguro para escrever um simples mover-swap rotina e chamá-lo com o bom argumentos.

• Faça Sua Debugging Declarações Significativas - Aprenda a utilizar a depuração ambiente no seu sistema. Isso permite-lhe para a execução de uma determinada condição ou declaração, assim você pode ver que os valores de todas as variáveis são associadas. Esta é geralmente mais rápido e mais fácil do que digitar em um monte de declarações de saída.

Mas se você estiver indo para inserir depuração imprimir declarações, torná-los dizer algo. Imprimir todas as variáveis relevantes, bem como o rótulo impresso quantidade variável com o nome. Senão fica fácil se perder na sua própria depuração saída.

A maioria dos estudantes de informática são agora bem versáteis em programação orientada a objetos, uma engenharia de software filosofia do software projetado para a construção de componentes reutilizáveis e explorá-los. Programação orientada a objetos é útil para construir grandes, programas reutilizáveis. No entanto, a maioria dos problemas de desafios de programação neste livro foram concebidas para serem resolvidos a curto, inteligente programas. O pressuposto básico de programação orientada a objetos, apenas não é aplicável neste domínio, para definir novos objetos complexos (por oposição à utilização de objectos predefinidos), é provável que seja um desperdício de tempo.

O truque para uma boa programação não é o abandono estilo, mas usando uma adequada à dimensão da tarefa.


Nenhum comentário:

Postar um comentário