c:formatacaocodigo
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anterior | |||
c:formatacaocodigo [2008/04/02 18:13] – laercio | c:formatacaocodigo [Data desconhecida] (atual) – removida - edição externa (Data desconhecida) 127.0.0.1 | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
- | ====== Padronização de Formatação ====== | ||
- | **Padronização da formatação do código - indentação, | ||
- | |||
- | |||
- | ===== Indentação ===== | ||
- | * Declarações em bloco devem ser indentadas para separar o bloco do resto do código.\\ | ||
- | * A indentação deve ser feita com dois espaços, sem o uso de TABs. Obs: Editores de texto podem ser configurados para gerar automaticamente os 2 espaços quando o TAB é usado.\\ | ||
- | * Usar indentação após um label. \\ Exemplo: | ||
- | <code cpp> | ||
- | switch (index) | ||
- | { | ||
- | case 0: | ||
- | // a comment | ||
- | break; | ||
- | |||
- | case 1: | ||
- | </ | ||
- | * Os comentários também devem estar indentados. | ||
- | |||
- | |||
- | |||
- | ===== Colocação de chaves ===== | ||
- | * A chave de iníco de bloco deve ser colocada na linha seguinte ao comando de controle. | ||
- | * A chave de final deve estar em sua própria linha, nenhum outro código deve existir nesta linha. \\ Exemplo: | ||
- | <code cpp> | ||
- | class TePolygon | ||
- | { | ||
- | public: | ||
- | TePolygon(void); | ||
- | TePolygon(const TePolygon& | ||
- | .... | ||
- | |||
- | protected: | ||
- | TeBox boundingBox_; | ||
- | } | ||
- | ... | ||
- | void TeUpdateBox(...) | ||
- | { | ||
- | // Execute code is here... | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | |||
- | ===== Uso de espaços ===== | ||
- | * Para melhorar a legibilidade, | ||
- | * **Opcional** - Usar um espaço para separar palavras e parênteses em expressões condicionais. | ||
- | * **Opcional** - Usar um espaço ao redor de um operador binário, exceto para operadores **" | ||
- | <code cpp> | ||
- | for (int i = 0; i < 10; i++) | ||
- | { | ||
- | // Loop code is here... | ||
- | } | ||
- | .... | ||
- | double length = sqrt(x * x + y * y); | ||
- | </ | ||
- | |||
- | |||
- | |||
- | ===== Uso de linhas em branco ===== | ||
- | * Para melhorar a legibilidade, | ||
- | * Usar para separar seções lógicas. | ||
- | * Usar para separar declarações de funções.\\ Exemplo: | ||
- | <code cpp> | ||
- | void TeCreateDataModel (const TeDataModel& | ||
- | { | ||
- | TeDataModel sourceType = sourceModel.getType(); | ||
- | TeDataModel outputType = outputModel.getType(); | ||
- | |||
- | switch (sourceType) | ||
- | { | ||
- | case MODEL_A: | ||
- | // Code to create model of type A is here | ||
- | break; | ||
- | |||
- | case MODEL_B: | ||
- | // Code to create model of type B is here | ||
- | break; | ||
- | |||
- | default: | ||
- | // Code to handle unknown model is here | ||
- | break; | ||
- | } | ||
- | } | ||
- | |||
- | TeDataModel TeGuessDataModelType (void) | ||
- | { | ||
- | // Guessing code is here | ||
- | } | ||
- | |||
- | TeDataModel TeCreateAnyDataModel (void) | ||
- | { | ||
- | // Code to create any model is here | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | ===== Número máximo de caracteres por linha ===== | ||
- | * Cada linha de código deve ter no máximo 80 caracteres. Usar as seguintes orientações: | ||
- | * Não use múltiplas declarações em uma linha se o máximo é excedido. | ||
- | * Quebrar uma expressão complexa em subexpressões. | ||
- | * Se a expressão não pode ser dividida, quebrar a expressão primeiro por vírgula e depois por operadores de menor precedência, | ||
- | <code cpp> | ||
- | // This line is too long | ||
- | double x = rand(); double y = rand(); double z = rand(); | ||
- | |||
- | // Use this instead | ||
- | double x = rand(); | ||
- | double y = rand(); | ||
- | double z = rand(); | ||
- | |||
- | .... | ||
- | |||
- | // This line is too long | ||
- | double length = sqrt(pow(xLength, | ||
- | |||
- | // Use this instead | ||
- | double xSquared = pow(xLength, | ||
- | double ySquared = pow(yLength, | ||
- | double length = sqrt(xSquared + xSquared); | ||
- | |||
- | // Or | ||
- | double length = sqrt(pow(xLength, | ||
- | | ||
- | |||
- | // This line is too long | ||
- | return sourceModel.type() == MODEL_A && sourceModel.type() == outputModel.type(); | ||
- | |||
- | // Use this instead | ||
- | return sourceModel.type() == MODEL_A && | ||
- | | ||
- | |||
- | |||
- | </ |
c/formatacaocodigo.1207160018.txt.gz · Última modificação: 2008/04/02 18:13 por laercio