c:formatacaocodigo
                Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
| c:formatacaocodigo [2008/04/01 17:24] – 150.163.3.123 | 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 o 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.** Ex:\\ | ||
| - | <code cpp> | ||
| - | switch (index) | ||
| - | { | ||
| - | case 0: | ||
| - | // ... | ||
| - | 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.** | ||
| - | === Exemplos === | ||
| - | <code cpp> | ||
| - | class TePolygon | ||
| - | { | ||
| - | public: | ||
| - | TePolygon(void); | ||
| - | TePolygon(const TePolygon& | ||
| - | .... | ||
| - | |||
| - | protected: | ||
| - | TeBox boundingBox_; | ||
| - | } | ||
| - | ... | ||
| - | void execute() | ||
| - | { | ||
| - | // Execute code is here... | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== Uso de espaços ===== | ||
| - | **Para melhorar a legibilidade, | ||
| - | * Usar um espaço para separar palavras e parênteses em expressões condicionais. | ||
| - | * Usar um espaço ao redor de um operador binário, exceto para operadores " | ||
| - | === Exemplos === | ||
| - | <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. | ||
| - | === Exemplos === | ||
| - | <code cpp> | ||
| - | void createModel (const Model& sourceModel) | ||
| - | { | ||
| - | ModelType sourceType = sourceModel.type(); | ||
| - | ModelType outputType = outputModel.type(); | ||
| - | |||
| - | 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; | ||
| - | } | ||
| - | } | ||
| - | |||
| - | ModelType guessModelType (Model& model) | ||
| - | { | ||
| - | // Guessing code is here | ||
| - | } | ||
| - | |||
| - | Model createAnyModel (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, | ||
| - | |||
| - | === Exemplos === | ||
| - | <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.1207070684.txt.gz · Última modificação: 2008/04/01 17:24 por 150.163.3.123
                
                