« Atentado en Madrid | Inicio | Lo que debemos tener claro »

El estilo de mi cÛdigo

Ultimamente, he leido varios posts sobre estilo de cÛdigo, o coding standards( como Èste de Dominick ). Bueno, pues Èste es mi estilo:

En primer lugar, el cÛdigo debe explicarse por sÌ mismo. Por eso, en mi trabajo no escribimos demasiados comentarios, aunque sÌ escribimos diagramas UML.

Pero lo podreis ver todo mucho m·s claro con una clase de ejemplo:

/* El nombre de la clase est· precedido de las iniciales del proyecto. En este caso, esta clase extiende a otra */ class net.designnation.pnTestClass extends pnSuperClass { /* Primero, definimos las variables privadas. Como las vamos a manipular a travÈs de getter/setters, todas terminan con el sufijo "Val" */ private var strVal : String; private var boolVal : String; private var mcVal : MovieClip private var arg : Number; /* Ahora va el constructor */ function pnTestClass( argParam: Number ) { this.arg = argParam } /* Y los getter/setters. SÛlo definiremos los que hagan falta, es decir, si no necesitamos un getter, no lo definiremos. */ function set str( value: String ) { this.strVal = value; } function get str( ): String { return this.strVal; } /* AquÌ sÛlo definimos el setter */ function set bool( value: Param ) { this.boolVal = value; } function set mc( value: MovieClip ) { this.mcVal = value; } //Los mÈtodos privados private function privateMethod( Void ): Void { } // El resto de mÈtodos p˙blicos e // implementaciÛn de interfaces public function publicMethod( Void ): Boolean { //Accedemos a una propiedad privada desde //la clase, por lo que no necesitamos un getter var returnVal: Boolean = false; if ( this.boolVal ) { returnVal = true; } return returnVal; } /* Y finalmente, callbacks y listeners */ public function onKeyUp( ) { } }

Un par de detalles importantes. Siempre utilizamos el "this", para que asÌ sea m·s facil ver cu·ndo estamos utilizando un mÈtodo o propiedad que pertenece a la clase. Si no utilizamos el this, se sobreentiende que el mÈtodo o propiedad es de la superclase

El espaciado muy importante. HAce que el cÛdigo sea m·s facil de leer, y de comprender. No nos importa que la calse tenga muchas lÌneas en blanco, si eso ayuda a ver "bloques" de cÛdigo

Las llaves van siempre pareadas. Y siempre hay un espacio en blanco entre operadores

Los mÈtodos que devuelvan un valor, deber·n tener un ˙nico punto de salida ( "return" )

Espero que os resulte util. Para nosotros, la verdad, lo es.