Archives
- October 2011
- September 2011
- June 2011
- March 2011
- October 2010
- August 2010
- July 2010
- June 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- December 1969
Categories
- Access
- ActionScript
- Adobe
- ADSL
- AJAX
- Algoritmos
- Analisis
- Analista de Sistemas
- apache
- ascii
- Automatas
- C
- Ciencias de la Computacion
- cliente-servidor
- Colores RGB
- Complejidad
- Conceptos Basicos
- Consejos – Tips
- CS4
- CSS
- Cupones
- curso
- Cursos
- Delphi
- Diseño Grafico
- diseño web
- Dreamweaver
- etiquetas
- Eventos
- Excel
- Expresion
- Flash
- Flash 8
- Flash CS3
- Flash General
- Flex
- FLV
- GoDaddy
- Graficos
- grafos
- Gratis
- Guia
- Herramientas
- Hojas de Estilo en Cascada
- Hosting
- htacces
- HTML
- imagenes
- Ingenieria de Software
- ingenieria en informa¡tica
- Internet
- introduccion
- Java
- javascript
- lan
- Lenguajes
- Licenciatura en Sistemas
- Linros
- logica
- man
- Maquetacion
- Microsoft
- mod rewrite
- MySQL
- Paradigmas de Programacion
- Password
- Photoshop
- PHP
- PHPMyadmin
- Pila
- Plantillas
- Preguntas Frecuentes
- Programacion
- Programacion Internet
- Programacion Logica
- Programacion Web
- Programador Universitario
- Prolog
- Proyect
- Que es una red
- Recomendaciones
- Recursos
- redes
- Redes Inalambricas
- RGB
- RIA
- Ruby on the Rails
- seguridad
- Seminarios
- Servicios
- Servidores
- Servidores Dedicados
- Sitios
- Sitios – Webs
- Software Diseño Web
- tipos de redes
- Tips
- Trucos
- tutoriales
- tutoriales
- Tutoriales
- tutoriales flash
- Universidad
- Usabilidad
- utilidades
- Video
- W3C
- wan
- Windows
- Word
- Wordpress
- XHTML
- XML
Links
Recent Articles
- Programación Básica en PLSQL
- Aprende Flash Facil
- Aprende Flash Facil
- Fazzil: Tu Página Web Fácilmente
- Curso de Phosohop en Junin
- Estudiar Diseño Web en Junin
- Curso de Programacion Python
- Tutorial Photoshop: Lineas de luz alrededor de personas
- Crear Pagina Web En Flash
- Flash CS5 Actionscript Facilito
-
Actionscript: mejorando la presentacion del codigo: 1ra parte
No CommentsUna correcta legibilidad facilita las tareas de codificar y mantener nuestras aplicaciones.
Una manera de mejorar la legibilidad de nuestro código es al usar convenciones de nombres.
Variables:
- El nombre de la variable debe permitir identificar rápidamente su tipo (Entero, arreglo, etc) y su alcance (Local, global )
- No usar el mismo nombre de variable en diferentes casos, esto puede causar confusión.
- Usar abreviaciones claras y reconocidas, evitar por ejemplo usar la abreviatura sec, que puede significar sección o secundario.
- Si es necesario usar un nombre que contenga varias palabras, cada palabra se debe distinguir usando una letra mayúscula o un separador como “_”.
- Debe ser lo más descriptivo posible. Por ejemplo una variable que recoge datos de usuario sería mejor llamarla userData en lugar de únicamente data.
- Usar nombres lo mas cortos posibles, claro mientras sean descriptivos.
- Usar “Strict data typing” es decir definir el tipo de dato de la variable. Por ejemplo:
var datosUsuario:String = new LoadVars();
- En contadores usar variables de una sola letra (i,n,j).
- Iniciar las variables con una letra minúscula.
Constantes:
- La constante debe ser escrita usando solo letras mayúsculas.
- Separar las palabras con guión bajo “_”.
Variables booleanas:
- Le debe anteceder la palabra “es” o “is” en ingles. Ya que solo puede ser verdadero o falso.
var isMujer:Boolean;
Nombres de funciones y métodos
- Usar nombres descriptivos.
- Cada palabra que compone el nombre de la función debe ser distinguida usando una letra Mayúscula o un separador como “_”.
- Describe el valor que retorna y la operación que realiza. Por ejemplo obtenerNombre().
Clases y objetos
- El nombre de la clase debe empezar con una letra mayúscula.
- Cada palabra se debe distinguir usando una letra Mayúscula
- Usar sustantivos para nombrarlas instancias, por ejemplo NuevoUsuario.
- Usar nombres en singular, por ejemplo Usuario.
- No usar el nombre de la clase en los atributos, pues genera redundancia. Por ejemplo usuario.usuarioEdad seria mejor edad únicamente.
- Cuando incluyamos verbos debemos hacerlo en infinitivo. Por ejemplo Correr en lugar de corriendo.
Paquetes:
- Usar el dominio reverso para nombrar los paquetes. Por ejemplo com.undermedia.
- Agrupar las clases del paquete por funcionalidad.
- Cada palabra de se debe distinguir usando una letra Mayúscula
Interfaces
- El nombre de la clase debe empezar con una letra mayúscula.
- Usar adjetivos, por ejemplo Imprimible.
Convenciones para comentar nuestro código
Los comentarios en nuestro código deben ayudar a entender al como y porque de algún segmento complejo.
- No comentes lo obvio.
- Para comentar varias lineas usa /**/ y para una sola //
- Usa un comentario de cabecera para decribir aspectos como: Nombre, version, fecha, autor descripción.
Convenciones de la codificación
Uno de los aspectos más importantes de la codificación es la concistencia.
- Manten el código en un solo lugar. Generalmente el primer Frame de la línea del tiempo.
- Colóca el código en la primera capa y nombralo “ActionScript”.
- No incluyas código dentro de los objetos como botones, instancias de movieClips. Por ejemplo evita:
on (release) {// Do something.}En lugar usa:
myBtn.onRelease = function() {// Do something.};- Evita el uso de rutas absolutas, es decir evita el uso de “_root”. Usa this, this._parent, o _parent en lugar de _root.
- Usa “_lockroot” para solucionar problemas asociados con un incorrecto uso de “_root”. Por ejemplo si cargas una movieClip y se para inesperadamente, usa:
this._lockroot = true;
- Usa la palabra “this” aunque tu código funcione sin este. Esto facilita que el código sea mas entendible y legible.
- Consideraciones de la palabra “this” en clases.
- Para referirte a la clase dentro de una función o método anidado, crea una referencia local a la clase. Por ejemplo.
class Undermedia{var propiedad:String;function Undermedia(){//Refernecia a la clasevar thisObj:Undermedia = this;function funcionAnidada(){thisObj.propiedad}}}Estructurando una clase
- Usa un comentario de cabecera para decribir aspectos como: Nombre de la clase, version, fecha, autor, descripción.
- Incluye archivos externos si son necesarios.
- Coloca todas tus variables estáticas.
- Coloca tus atributos, primero los públicos y luego los privados.
- Declara el contructor de la clase.
- Agrupa tus métodos por funcionalidad
- Coloca los métodos get/set.
Guias para crear una clase
- Colocaca cada declaracion en diferentes lineas, es decir evita:
var nombre:String, apellido:String;playBtn.onRelease = playBtn.onRollOut = playsound;
- Inicializa las variables locales cuando son declaradas, mientras que los atributos de clase deben ser inicializados con valores por “default” o con null esto optimiza el rendimiento el evitar mantener variables no utilizadas en memoria.
- Declara las varibles antes de usarlas, esto incluye los “loops”.
- Evita nombrar variables locales con el mismo nombre que las de clase
- Define tus métodos o atributos públicos cuando lo requieran sino definelos como privados.
- No abuses de los getters / setters, si algo va a ser leido únicamente solo crea el getter mas no el setter.
- Usa un prefijo para el this aunque no sea necesario esto facilita identificar si el atributo a método pertenecen a la clase. Por ejemplo
class Undermedia{var propiedad:String;function Undermedia(){//Refernecia a atributo de claseUndermedia.propiedad;}}- Usa la palabra “Super” para referirse a un metodo o propiedad de una clase heredada, por ejemplo:
class Mamifero{private var numPatas:Number;function getNumPatas():Number{return this.numPatas;}function setNumPatas(paramPatas):Void{this.numPatas = paramPatas;}} class Humano extends Clotes{function getPatas(){return super.getPatas();} }- No abuses con el uso de with, esto puede dificultar la legibilidad de tu código, al desconocer el alcance. Por ejemplo (Ejemplo extraido de la fuente).
this.attachMovie("circleClip", "circle1Clip", 1);with (circle1Clip) {_x = 20;_y = Math.round(Math.random()*20);_alpha = 15;createTextField("labelTxt", 100, 0, 20, 100, 22);labelTxt.text = "Circle 1";someVariable = true;}Se lee mejor:
this.attachMovie("circleClip", "circle1Clip", 1);circle1Clip._x = 20;circle1Clip._y = Math.round(Math.random()*20);circle1Clip._alpha = 15;circle1Clip.createTextField("labelTxt", 100, 0, 20, 100, 22);circle1Clip.labelTxt.text = "Circle 1";circle1Clip.someVariable = true;Una excepcion a la regla es cuando usas al API de dibujo pues se llama continuamente a los mismos métodos, por ejemplo:
this.createEmptyMovieClip("rectangleClip", 1);with (rectangleClip) {lineStyle(2, 0x000000, 100);beginFill(0xFF0000, 100);moveTo(0, 0);lineTo(300, 0);lineTo(300, 200);lineTo(0, 200);lineTo(0, 0);endFill();}Atom Feed (Agrega los articulos en tu sitio)Originalmente escrito en Charles ProgInternet.com
Published on August 5, 2008 · Filed under: Uncategorized;
Leave a Reply
You must be logged in to post a comment.
