Capitulo 4 Tipos e Declarações
[1] Mantenha escopos pequenos; § 4.9.4.
[2] Não use o mesmo nome em um escopo que é delimitador por um outro escopo ; § 4.9.4.
[3] Declare um nome (só) por declaração; § 4.9.2.
[4] Mantenha nomes comuns e locais curtos, e manter os nomes incomuns e não-locais maiores; § 4.9.3.
[5] Evite nomes similares; § 4.9.3.
[6] Manter um estilo de nomenclatura consistente; § 4.9.3.
[7] Escolha nomes para refletir cuidadosamente significado ao invés de implementação; § 4.9.3.
[8] Use um typedef para definir um nome significativo para um tipo de dados nos casos em que o tipo de dado é usado para representar um valor pode mudar; § 4.9.7.
[9] Use typedefs para definir sinônimos para os tipos; use enumerações e classes para definir novos tipos; § 4.9.7.
[10] Lembre-se que cada declaração deve especificar um tipo (não há int “implícito”); § 4.9.1.
[11] Evite suposições desnecessárias sobre o valor numérico de caracteres; 4.3.1 §, § C.6.2.1.
[12] Evite suposições desnecessárias sobre o tamanho de inteiros; § 4.6.
[13] Evite suposições desnecessárias sobre a variedade de tipos de ponto flutuante; § 4.6.
[14] Prefira um int normal ao invez de um short int ou um long int; § 4.6.
[15] Prefira um double sobre uma float ou um long double; § 4.5.
[16] Prefira char sobre signed char e unsigned char; § C.3.4.
[17] Evite fazer suposições desnecessárias sobre os tamanhos dos objetos; § 4.6.
[18] Evite a aritmética sem sinal; § 4.4.
[19] Veja conversões signed para unsigned e unsigned to signed com suspeita; § C.6.2.6.
[20] Ver conversões de ponto flutuante para inteiro com suspeita; § C.6.2.6.
[21] Ver as conversões para um tipo menor, como int para char, com suspeita; § C.6.2.6.