c:nomes
Essa é uma revisão anterior do documento!
Tabela de conteúdos
Padronização de Nomes
Padronização de nomes de arquivos, classes, estruturas, métodos, etc.
Em TerraLib, todos os nomes devem começar com o prefixo “Te” ou “TE” (no caso de macros), exceto nomes de métodos e membros de classes e estruturas e nomes de variáveis. Essa regra vale para nomes de arquivos, módulos e pacotes da plataforma TerraLib.
Nomes de Macros
Usar UPPERCASE e underscores “_”. No caso de macros associadas a arquivos .h,
usar a extensão do arquivo como sufixo “_H”.
Exemplo:
#ifndef TE_CONNECTION_POOL_H #define TE_CONNECTION_POOL_H .... #endif //end TE_CONNECTION_POOL_H
Nomes de tipos e constantes
- Usar UpperCamelCase para todos os nomes de classes, constantes, estruturas, enumerações e typedefs.
UpperCamelCase: A primeira letra de cada palavra em maiúsculas e as demais em minúsculas. - No caso de siglas, todas as letras devem ser maiúsculas.
Exemplo:
class TePolygon; double TeMaxFloat; struct TePDIParams; typedef TeWMS;
- Usar substantivo.
- Usar o plural para nomes de coleções.
Exemplo:
class TePolygons; class TeLines; class TeConnections;
Nomes de funções e métodos
- Usar lowerCamelCase para todos os nomes de métodos de estruturas e de classes.
- Não usar o prefixo “Te” para os nomes de métodos.
- Usar UpperCameCase e o prefixo “Te” para os nomes de funções.
lowerCamelCase: A primeira palavra em minúsculas e as palavras seguintes com a primeira letra em maiúsculas e as outras letras em minúsculas.
Exemplo:
TePolygon::getBox(void) TeCreateLayerFromTheme(...)
- Usar verbos nos nomes de funções e métodos.
- Usar os prefixos “is”, “set” e “get” quando estiver acessando membros da classe.
Exemplo:
TePolygon::isValid(void) // Usar para obter o valor de membros do tipo booleano TePolygon::getBox(void) // Usar para obter o valor de um membro da classe TePolygon::setBox(TeBox& b) // Usar pra alterar o valor de um membro da classe
Nomes de parâmetros e variáveis
- lowerCamelCase para todos os nomes de parâmetros e variáveis.
- Usar substantivos.
- Adicionar o sufixo “_” nos nomes de membros de estruturas e classes.
- Usar nomes para todos os parâmetros.
- Usar “other” para nomes de parâmetros nos construtores de cópia e operadores de atribuição.
- Usar os mesmos nomes dos membros nos métodos que os acessam diretamente.
Exemplo:
class TePolygon { public: TePolygon(void); TePolygon(const TePolygon& other); TePolygon& operator=( const TePolygon& other); const TeBox& getBoundingBox(void) const; void setBoundingBox(const TeBox& boundingBox); protected: TeBox boundingBox_; }
Para todos os nomes
- Usar nomes com significado: evitar nomes com um único caracter ou nomes genéricos. A única exceção são as variáveis temporárias como, por exemplo, as usadas como contador ou índices dentro de loops.
- Usar nomes comuns ao domínio da aplicação.
- Evitar o uso de dígitos nos nomes.
- Evitar nomes excessivamente longos. Se o nome é muito comprido, é um sinal de que você precisa reprojetar porque o objeto está fazendo coisas demais.
- Usar nomes completos, sem excluir as vogais.
Exemplo:
msg //Bad message //Good
- Usar UpperCamelCase para as abreviações, excluindo o caso onde a abreviação é a primeira palavra de um método, variável ou parâmetro, porque nestes casos a abreviação deve ser toda em minúsculas.
- Não usar maiúsculas/minúsculas para diferenciar nomes.
c/nomes.1207148136.txt.gz · Última modificação: 2008/04/02 14:55 por laercio