Ferramentas do usuário

Ferramentas do site


c:nomes

Essa é uma revisão anterior do documento!


Padronização de Nomes

Padronização de nomes de arquivos, classes, estruturas, métodos, etc.

Na 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
....
#define TE_MY_DEFINE 1
....
#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
  • Não usar maiúsculas/minúsculas para diferenciar nomes.
c/nomes.1207157167.txt.gz · Última modificação: 2008/04/02 17:26 por 150.163.3.123