Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C++ by saguma ( 13 years ago )
/*
 * Licencia del código
 *
 * Autor:
 * Version:
 * Última actualización:
 */
// Comentarios en una línea con espacio después de // (y antes si se pone después de una expresión)
/*
 * Comentarios en varias líneas con los * alineados
 * y un espacio despues de ellos.
 * En la primera linea no se escribe
 */
// Las listas siempre llevan espacios (al heredar (1*), parámetros función (2*), for (3*))
// Longitud máxima de la línea unos 100 caracteres (esta línea y la siguiente tienen 107, sería admisible)
// Lo primero tras el comentario con la licencia y demás, será la guarda que seguirá el siguiente formato:
// _<Nombre de la clase>_H
#ifndef _NOMBRECLASE_H
#define _NOMBRECLASE_H

#include <string>
#include <iostream>

#include “OtraClase.h”

namespace NombreNameSpace {

/*
 * Comentario de documentacion de la clase NombreClase
 * ¿Qué hace la clase?
 */
// Espacio antes y después de los dos puntos
class NombreClase : public OtraClase, public OtraClasePadre { // (1*)

    // Solo una sección privada, protegida y publica, y en ese orden
    // siempre definidas aunque no se usen
  private:
    // Definiciones de variables de clase camelCase y notación húngara
    
    // DocuComentario: Lo que va a contener _x (y no vale con poner "_x contiene un entero")
    int _x;
    char _nombreMasLargo;
    bool _booleano;
    bool _condicion;
    
    // Definicion de constantes de clase con enums
    enum constante { value = 1024 };
    // O static const si no es de tipo entero
    static const char *name;
    
    // métodos y parametros camelCase
    void funcionConNombreLargo(int paramEntero, bool verdaderoOFalso); // (2*)
  protected:
  
  public:
    /**
     * Codigo de documentacion de getX()
     */
    // Los getters y setters simples se pueden poner de esta forma y en el .h mejor que en el .cpp
    int getX() { return _x; }
    
    // En los templates se usará class si el tipo solo puede ser una clase
    // y typename para cualquier tipo (Clase, tipo primitivo y puntero)
    template <class T> // Estaría mal si T fuese un entero debería ser typename
    void staments(T param1, int i) {  // Este metodo lo implemento aquí por no crear otro archivo,
      // pero debería ir en el cpp          ERROR DE ASTYLE
      
      //bool booleano; // Mal, intentar no repetir nombres de miembros de la clase
      
      // Intentar poner las condiciones agrupadas con paréntesis en la misma linea
      // preferible esto
      if ((unObjeto.compruebaCosas() || otroObjeto.compruebaOtrasCosas())
          && (_booleano)) {}
      // a esto otro
      if ((unObjeto.compruebaCosas()
           || otroObjeto.compruebaOtrasCosas()) && (_booleano)) {}
           
      // else en la misma línea que la llave de cierre
      if (_condicion) {
        // Código
      } else {
        // Mas código
      }
      
      // switch con cases indentados y el codigo mas identando
      switch (test) {
        case firstCase:
          // Código
          break;
        case commonCase1:
        case commonCase2:
          // Código
          break;
        case commonCase1:
          // Código
           c
        case commonCase2:
          // Mas código
          break;
        default:
          break;
      }
      
      // for
      // el tipo del contador será auto (si el compilador lo admite), salvo que sea un entero.
      for (auto i = 0; i < max; ++i) { // (3*)
      
      }
      
      for (auto i = 0; // Inicializacion
           muchasComprobacionesYMuyLargasQueOcupaMuchoParaPonerloEnUnaSolaLinea(i); // Comprobación
           ++i) { //Actualización
      }
      
      // En el while y el do while se seguirá el mismo formato que con los if
      while (condicion) {
      
      }
      
      do {
      
      } while (condicion);
      
      // Uso de miembros de clase
      // variables
      _booleano = true; // No se usa this
      // llamadas a funciones
      this->getX();     // Si se usa this
      
      
      
      
      // Muchas líneas en blanco, solo se permite una línea en blanco
      // Separacion entre los operadores (el igual tambien es un operador)
      int a = 4 + 5 * 7;
    }
    
}; //NombreClase

}

#endif //_NOMBRECLASE_H

 

Revise this Paste

Your Name: Code Language: