Declarações

Não inicialize uma variável com um valor que você sabe que não vai usar. Se o valor da variável vai ser lido, faça a leitura imediatamente após a declaração.

Evite reusar variáveis auxiliares (aquelas que armazenam informação de controle da execução em oposição a armazenar informações do problema sendo resolvido) em parte diversas do código. É recomendável declarar as variáveis o mais tarde possível e nos comandos mais internos, para que as variáveis não possam ser usadas em outras partes. Uma exceção comum e aceitável é declarar variáveis fora das repetições em oposição a declarar dentro das repetições para produzir código mais rápido.

Ruim (inicialização seguida de leitura):

int a = 0, b = 0, c = 0; cin >> a >> b;

Bom:

int a, b; cin >> a >> b; int c = 0;

No exemplo acima, as variáveis a e b ganham o valor 0 para imediatamente a seguir terem seus valores alterados. Em geral, declarar diversas variáveis numa mesma linha não é bom, porque dificulta a leitura da linha e dificulta a mudança de tipos no futuro. Duas variáveis que possuem o mesmo tipo algorítmico podem se beneficiar de serem declaradas juntas porque a mudança do tipo de uma delas incentiva a mudança do tipo da outra. Não confunda o tipo algorítmico (altura, peso, etc.) com o tipo da implementação (int, float, double, etc.); os tipos algorítmicos são característica do problema e dificilmente mudam enquanto que os tipos da implementação são uma visão do programador a respeito do como representar determinado tipo de informação naquela linguagem de programação.

Ruim (declaração seguida de valor inicial):

int var; var = a * 2 + f(x);

Bom:

int var = a * 2 + f(x);

Ruim (muitas declarações seguidas de comandos):

float mi, cmi, mmi, ma, cma, mma, av, ideal, carro; cin >> mi >> cmi >> mmi; cin >> ma >> cma >> mma; ideal = conversao(mi, cmi, mmi); carro = conversao(ma, cma, mma);

Bom (declarações tão tarde quanto possível):

float mi, cmi, mmi; cin >> mi >> cmi >> mmi; float ma, cma, mma; cin >> ma >> cma >> mma; float ideal = conversao(mi, cmi, mmi); float carro = conversao(ma, cma, mma);

Esta página é mantida por Bruno Schneider para a disciplina de IAlg