Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Qué son?: son normas y reglas que convienen los programadores para
especificar como debe escribirse el Código Fuente y así evitar la incomprensión
del mismo, en procesos posteriores de mantenimiento, actualizaciones y
reparación de errores de ejecución. Por otro parte, vale la pena aclarar, que el
establecimiento de estándares de codificación no son de uso o de carácter
obligatorio, no obstante, son una herramienta útil para combatir un mal epidemial
que sucede en los mantenimientos, la dificultad para realizar los mismo de manera
eficaz y eficiente.
1. Variables.
Para que nuestro código sea más entendible y claro, el identificador de la variable
debe ser mnemotécnico, es decir que debe reflejar el uso dentro del programa de
la misma.
Vemos que insertó caracteres especiales, ademas de que uso el guión normal ( no
el subguión ), por lo tanto puede que el programa entienda que es una resta,
entonces está mal delcarado por sintaxis.
Explicación: por sintaxis como ya hemos visto, deben cumplir con estas reglas,
entonces no se puede comenzar con un número, ya que se debe comenzar por
una letra como dice la regla, ejemplo:
Explicación: las variables no pueden llevar espacios en blanco, solo pueden ser
separadas por un signo dedicado a ser usado como un espacio, el cual es el
subguión ( _ ), entonces en una variable cuando vean un subguión, practicamente
estan separando algo ( para que no parezca una ensalda ), ejemplo:
NOMENCLATURA DE VARIABLES
Nombres de variables
SI NO
Nombre_Empleado
$nbeEmpleado NOMBRE
NbeEmpleado
Variables globales
$BD
$EEE
$USUARIO
Corchetes e indentación
if ($edadCliente<$edadExigida){
instruccion1;
instruccion2;
} else {
instruccion3;
};
function verificarCondicion() {
if (condicion1) {
if (condicion2) {
while (condicion3) {
instruccion1;
};
};
instruccion2;
}else{
instruccion3;
};
};
FUNCIONES
Nombramiento de Funciones
Nomenclatura de constantes
CONSTANTES
Por ejemplo:
SI NO
define("EDAD_VOTACION”, "18");
... if (18<$edad)
if (EDAD_VOTACION <= $edad)
Nota: Nótese que es más natural preguntar
"$edad>=EDAD_VOTACION" que "EDAD_VOTACION <=
$edad", o "$i==0" que "0==$i", sin embargo la forma que
estamos utilizando es mucho más apropiada, ya que si por
casualidad, a uno se le olvida poner un doble igual (==) y se
utiliza un solo igual (=), el programa no va a dar un error, sino
que va a hacer algo completamente distinto a lo deseado. Por
eso, es muy buena práctica acostumbrarse a poner primero la
constante y luego la variable
COMENTARIOS DE CÓDIGO
Cabe señalar que estas ideas presentadas son simplemente directrices hacia
los comentarios más limpios, los lenguajes de programación individuales no
establecen directrices o especificaciones de cómo configurar su documentación.
Dicho esto, los desarrolladores de hoy en día se han agrupado para dar formato
a su propio sistema de código de comentar. Voy a ofrecer algunos estilos del
corriente y entrar en detalles de su propósito.
Comentando en línea
1
// begin variable listing
2
var myvar = 1;
Esto es perfecto para tocar el código durante unos segundos para explicar la
funcionalidad de una línea posiblemente confusa, si está trabajando con una
gran cantidad de parámetros o llamadas a funciones que pueden realizar una
serie de comentarios en línea cerca. Pero el uso más beneficioso es
una explicación simplista para la funcionalidad pequeña.
Note en lo anterior que el código tendría que ser en una nueva línea después
del paréntesis de apertura, de lo contrario todo sería atrapado en la misma línea
de comentario. Evite salirse de los límites ya que por lo general no es
necesario ver una sola línea de comentarios hasta el fondo de su página.
Cuando es necesario incluir una gran explicación general una sola linea no es
suficiente. Hay plantillas de comentarios pre-formateados usados en casi todas
las áreas de la programación, se llaman Bloques descriptivos y se observan
sobre todo en torno a las funciones y los archivos de las librerias. Siempre que
configure una nueva función es una buena práctica añadir un bloque
descriptivo encima de la declaración.
1 /**
2 * @desc opens a modal window to display a message
3 * @param string $msg - the message to be displayed
4 * @return bool - success or failure
5 */
6 function modalPopup($msg) {
7 ...
8 }
Grupo/Clase Comentarios
1 /**
2 * @desc this class will hold functions for user interaction
3 * examples include user_pass(), user_username(), user_age(),
4 user_regdate()
5 * @author Jake Rocheleau jakerocheleau@gmail.com
6 * @required settings.php
7 */
abstract class myWebClass { }
Hemos pasado la primera mitad de este artículo mirando los diversos formatos
de código de comentarios. Ahora vamos a discutir algunos consejos generales
para mantener su código limpio, organizado y fácil de entender.
1
function getTheMail() {
2
// code here will build e-mail
3
/* run code if our custom sendMyMail() function call returns true
4
find sendMyMail() in /libs/mailer.class.php
5
we check if the user fills in all fields and message is sent! */
6
if(sendMyMail()) { return true; // keep true and display onscreen success
7
}
8
}
9
Aunque sólo sea un par de palabras son mejor que nada, le ayudará a tener
presente cambios que con el tiempo seguramente se olvidarán. Puesto que no
estas buscando en las mismas variables y nombres de funciones cada día se
tiende a olvidar poco a poco la mayoría del código.
Como regla general, tómate algún tiempo para hacer una pausa y reflexionar
antes de escribir . Pregúntate ¿qué es lo más confuso sobre el programa
y cómo se puede explicar mejor que en el lenguaje “de prueba”? También
considere por qué está escribiendo el código exactamente como es.
Deja un comentario sendero que conduce de nuevo a algunos otros
archivos esto le ayudará a recordar funcionalidad más fácil.
$(document).ready(function() {
1
$('.sub').hide(); // hide sub-navigation on pageload
2
3
/** check for a click event on an anchor inside .itm div
4
prevent the default link action so the page doesn't change on click
5
access the parent element of .itm followed by the next .sub list to
6
toggle open/close
7
**/
8
9
$('.itm a').live('click', function(e){
10
e.preventDefault();
11
$(this).parent().next('.sub').slideToggle('fast');
12
});
13
});
Junto con el espacio apropiado este puede ser uno de los mejores hábitos para
empezar. Nadie quiere ir hacia atrás en su código después de que se está
trabajando y documentar cada pieza. La mayoría de nosotros ni siquiera quieren
volver y documentar las áreas confusas, realmente hace falta ser un montón de
trabajo.
Pero si se puede escribir los comentarios mientras estás codificando todo será
fresco en su mente . Normalmente los desarrolladores podemos quedar
atascado en un problema y buscar en la web parece la solución más fácil, pero
resolver tal problema da un momento de claridad, donde se logra entender
errores anteriores, este es el mejor momento para comentar abierta y
honestamente acerca de su código.
Además esto te dará la práctica para acostumbrarte a comentar todos tus
archivos. La cantidad de tiempo requerido para volver atrás y averiguar cómo
funciona algo es mucho más grande después de que ya se ha construido la
función. Tanto tú mismo como futuros compañeros, agradecerán dejar
comentarios desde el principio.
4. Tratar con errores de codificación
No todos podemos sentarnos frente a la computadora por horas escribiendo
código. Supongo que podemos probar, ¡pero en algún momento tenemos que
dormir! En este escenario, es crucial que usted deje largos comentarios
detallados acerca de donde dejo líneas y soluciones de código.
Conclusión
No hay que olvidar que el código y sus comentarios forman un conjunto. Así
que debemos prestar la debida atención a ambos apartados. Para que nuestro
código sea elegante, limpio y fácil de mantener, podemos seguir los siguientes
consejos.
Lo normal es que los nombres de las clases sean sustantivos que representen una
entidad (Cliente, Proveedor etc.). Los métodos representan una acción, por lo que
su nombre suele contener algún verbo (devolverNuevoCliente, calcularPrecioTotal
etc.). Además deberemos intentar que las variables, propiedades y parámetros,
tengan un nombre que describa el valor que contienen (totalclientes,
totalpresupuesto etc.).
¿Qué conseguimos con esto? Pues además de un código fuente mucho más
legible, conseguimos reducir el número de comentarios necesarios. Por ejemplo:
if (cliente.estaActivo)
cliente.UlitmoAcceso=Date.Now;
servicioDatos.guardaCliente(cliente);
}
Al usar nombres descriptivos el código no necesita comentarios adicionales.
Cualquier programador que revise el código, será capaz de hacerse una idea de lo
que hace el código.
No hace falta explicar cosas obvias. El código fuente en el 98% de los casos lo va
a leer otro programador. O al menos alguien con conocimientos de programación.
Por ejemplo:
// Comprobamos si el contador es 5
if (contador == 5)
Ese comentario no aporta nada. Mejor si lo eliminamos. Mejor todavía si no
llegamos ni a escribirlo.
3. Piensa si un comentario es necesario antes de añadirlo
Puede ser útil comentar lo que hace un método antes de su declaración. Incluso
podemos comentar sus parámetros. Pero hay que tener en cuenta que debemos
comentar el "qué" y no el "cómo". Es decir, debemos explicar qué hace nuestro
método. El "cómo" hace el método su función ya va explicado en el código.
Un comentario tiene que ser claro y explicar bien las cosas. Pero los comentarios
también hay que mantenerlos. Si describimos lo que hace un método, y en algún
momento la funcionalidad cambia, también tendremos que actualizar los
comentarios. Por tanto mejor que los comentarios sean breves y concisos.
Es algo que no suele hacerse a propósito, pero que puede darnos más de un
quebradero de cabeza. Tiene que ver con el punto anterior y el problema de no
mantener los comentarios. A veces porque nos dejamos algo por hacer, o por qué
una especificación ha cambiado, nuestro comentario queda obsoleto. O lo que es
peor, el comentario expresa algo distinto a lo que en realidad se está haciendo. Si
nos fiamos del comentario, podemos generar errores no esperados.
public int devolverEstadoCliente(){
// TO-DO
return 0;
}
Y luego en otra parte del código encontramos los siguientes
//Borramos el cliente si está desactivado
if (cliente.devolverEstadoCliente() == 0)
servicioDatos.borrarCliente(cliente);
En el ejemplo el problema se ve fácil porque el código está próximo. Pero si
tenemos el código repartido en distintas clases, podemos estar borrando cliente
sin querer.
En general a los que desarrollamos, no nos gusta comentar. Es algo aburrido, que
solemos dejar para más tarde. Pero procrastinar el comentado del código es una
mala idea por varias razones. La primera es que, al final, nos veremos obligados a
comentar un gran volumen de código de golpe. Eso es todavía más aburrido, y
nuestros comentarios serán peores. La segunda es que las ideas pierden frescura
según pasa el tiempo. Escribir comentarios de código que no acabamos de hacer
es más complicado y lleva más tiempo.
Mejor comenta a la vez que programas. O mejor, comenta antes de programar.
Escribiendo lo que tienes que hacer hacer, tendrás una mejor comprensión del
problema.
Esto depende de un poco del ámbito del código fuente. En ámbitos laborales,
deberemos ser serios y correctos. Y más si el código es para un cliente. Si el
código lo estamos haciendo para nosotros, los comentarios pueden tener un tono
más distendido. Eso sí, mejor evitar palabras malsonantes, porque nunca se sabe
quién puede leer el comentario.