Nombres de variables y programas
Nombres de variables
- Los nombres que se usen deben ser significativos.
- Los nombres deben estar en minúsculas, excepto la primera letra de cada palabra a partir de la segunda.
- Una variable $aa o $a1 no significan nada. No hay problema en utilizarlo si es una variable temporal que va a ser utilizada en las líneas siguientes, pero si va a ser utilizada más lejos en el programa, debe tener un nombre significativo.
| SI | NO |
$nbeEmpleado |
Nombre_Empleado NOMBRE NbeEmpleado |
Nombres de registros
Cuando se lee un registro de una tabla, el nombre del registro, debe empezar por $row y luego tener el nombre de la tabla
| SI | NO |
$rowPER |
$registroDeCliente |
Nombres de programa
Todo en minúscula excepto la primera letra de cada palabra a partir de la segunda.Todos los programas deben tener la extensión PHP preferiblemente. Cuando un programa es llamado directamente desde rec.php o desde otro programa de N2C, usar el nombre de la tabla, seguido de una indicación de como está siendo llamado:
| SI | NO |
PERhtml.htm PERformula.php PERpre.php PERpost.php PERextendido.php PERjsvalidacion.js PERjs.js PER donde es el nombre de la tabla. |
formulaPER.php PER_pre.php extendidoPER.php CLIENTESformula.php |
Constantes y Variables globales
Constantes
Se deben evitar constantes numéricas sin mucho significado. Para seo es conveniente definir las constantes en el programa. Todos los caracteres deben estar en mayúsculas y las palabras separadas por "_".
Por ejemplo:
| SI | NO |
define("EDAD_VOTACION”, "18");
...
if (EDAD_VOTACION <= $edad)
|
if (18<$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
variables globales
Se debe evitar el uso de variables globales ya que pueden ser modificadas erróneamente y pueden causar errores muy difíciles de identificar. Si se usan, para poder identificarlas, deben estar en mayúsculas. Ejemplo:
$BD $EEE $USUARIO
Corchetes e indentación
La indentación es algo que ayuda a darle claridad a un programa y es INDISPENSABLE que se haga bien. Debe hacerse con "tabs" y no con espacios en blanco.
Los corchetes de un bloque if, o switch, o for, deben ir en la misma línea de la cláusula. A continuación mostramos la forma apropiada de hacerlo.
if ($edadCliente<$edadExigida){
instruccion1;
instruccion2;
} else {
instruccion3;
};
Ejemplo de indentación apropiada:
function verificarCondicion() {
if (condicion1) {
if (condicion2) {
while (condicion3) {
instruccion1;
};
};
instruccion2;
}else{
instruccion3;
};
};
Claridad de los programas
Es importante que los programas y rutinas que se escriban sean claro y fáciles de entender. Por eso, además de dar la explicación de que hace cada programa o función al principio, como se especificó en el capítulo anterior, hay que tratar que las funciones quepan en una sóla página y que antes de cada sección se explique que es lo que se está haciendo. Sobre todo, cuando se usan "truquitos", es muy importante que se explique lo que se está haciendo. Ejemplos de buenas prácticas
if ($ext[AR5Enlace4]==0) // No es proyecto, es empresa
// A continuación se va a construir un arreglo con la información leída
// Verificar si es la tabla está en otra aplicación (Tablas compartidas)
if (""!=$TablaDeOtraAplic[$XXX]){
$NroEEECON=$TablaDeOtraAplic[$XXX]."CON";
} else {
$NroEEECON=$EEE."CON";
};
Hay que evitar el uso del if corto, ya que es difícil de entender. La única excepción sería cuando se están utilizando campos cálculados y se quiere la instrucción en una sóla línea
| Fácil de entender | Difícil de entender |
if (5<$cant){
$variable=18;
else{
$variable=25;
};
|
$variable=(5<$cant)?18:25; |
Inclusión de funciones y rutinas
Muchas veces se incluye una archivo que tiene muchas funciones. Es muy importante, al hacer el require del archivo, que se indiquen los nombres de las funciones que se están utilizando. De forma que cuando se quiera saber de donde viene una función se pueda, al buscar la primera ocurrencia del nombre.
require("procesos/caseanexos.php"); //funciones VerAnexos,EditarAnexos
require("rutinas/campoenlace.php"); //Rutinas CampoEnlace,MostrarLinks
require("rutinas/impresion.php"); //Variable ParPosibles, rutina Desestacar
HTML
Los programas en HTML deben cumplir con unas reglas adicionales:
- Los tags tienen que estar escritos en minúsculas. Por ejemplo <td> en vez de <TD>
- Los objetos html deben tener id y name, y ambos deben ser iguales. Cuando solo se pone sólamente el name y en IE se usa getElementById funciona (incorrectamente), pero en FireFox no. Para evitar esto se deben usar ambos. Ejp:
<input id="nombre" pre="" name="nombre" type="text" /> - Cuando hay que escribir variables de PHP dentro de un código HTML se debe tener el HTML dentro de PHP y no al revés. Por ejemplo, esto es lo correcto:

- Cuando se construye un código de php, después del tag de mayor-interrogación, debe venir la palabra php:

- Finalmente, el código HTML generado por un programa también debe ser legible, bien estructurado e indentado. Por lo que se recomienda el uso de "/n" y "/t"

CSS
Existen reglas adicionales para la creación de hojas de estilo.
- No usar una línea para cada atributo, ya que hace los archivos muy grandes.
Correctotable {background: white; border-width: 1px;margin-left:5%;margin-right:5%;}.
Incorrecto:table { background: white; border-width: 1px; margin-left:5%; margin-right:5%; } - otro punto
