c:formatacaocodigo
Essa é uma revisão anterior do documento!
Tabela de conteúdos
Padronização de Formatação
Padronização da formatação do código - indentação, espaços, etc.
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:
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
class TePolygon { public: TePolygon(void); TePolygon(const TePolygon& other); .... protected: TeBox boundingBox_; } ... void execute() { // Execute code is here... }
Uso de espaços
Para melhorar a legibilidade, usar sempre espaços em branco.
- 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 “.” e “→”
Exemplos
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 linhas em branco.
- Usar para separar seções lógicas.
- Usar para separar declarações de funções.
Exemplos
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, reaplicando a regra até que o limte seja atingido. Indentar as novas linhas para alinhar com o primeiro caracter da expressão que precede a vírgula ou o operador.
Exemplos
// 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, 2.0) + pow(yLength, 2.0)); // Use this instead double xSquared = pow(xLength, 2.0); double ySquared = pow(yLength, 2.0)); double length = sqrt(xSquared + xSquared); // Or double length = sqrt(pow(xLength, 2.0) + pow(yLength, 2.0)); // This line is too long return sourceModel.type() == MODEL_A && sourceModel.type() == outputModel.type(); // Use this instead return sourceModel.type() == MODEL_A && sourceModel.type() == outputModel.type();
c/formatacaocodigo.1207070656.txt.gz · Última modificação: 2008/04/01 17:24 por 150.163.3.123