Estándares de programación

Nombres de variables

Nombres de archivos

Generales

PHP

Javascript

Además, la codificación estándar de los archivos debe ser UTF-8 sin BOM, algunos editores de texto lo llaman ANSI as UTF-8 y es equivalente.
Esto es para evitar símbolos extraños en los textos de campos o datos ingresados en la Base de Datos.

Constantes

Se deben evitar constantes numéricas sin mucho significado. Es conveniente definir las constantes en el código. Todos los caracteres deben estar en mayúsculas y las palabras separadas por “_”.
Por ejemplo: PORCENTAJE_IVA

La forma de declarar esta variable sería la siguiente:
define('PORCENTAJE_IVA',0.13)

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.

Por ejemplo: $VARIABLE_GLOBAL=1

Corchetes e identació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.

Desarrollando casi con cualquier editor es importante asegurarse de sustituir el identado del código de espacios a “tabs” cuándo se copie y pegue código de otro lugar.

Los corchetes de un bloque if, o switch, o for, deben ir en la misma línea de la cláusula.
Por ejemplo, esta sería una forma apropiada de hacerlo.
if($condicion){

Interacción con la Base de Datos (PHP)

Se debe usar el objeto de conexión principal, está ubicado en la dirección “libs/php/class.connection.php”. Este en el constructor inicializa la conexión y además tiene las funciones principales para ejecutar mantenimientos y consultas, además de las funciones para procesar los objetos que estas funciones devuelven.

Cuando se lee un registro de una tabla usando el objeto principal de conexión, el nombre de la variable debe empezar por $row_ y luego tener el nombre de la tabla. Esto es importante para saber qué datos contiene ese array si se mezclan varias consultas a la vez

El objeto principal se instancia de la siguiente manera:
$conexion = new Conexion();

Consultas

Antes de concatenar variables de PHP en cadenas String que contengan una consulta en la base de datos, se debe pasar por el filtro de escape a caracteres especiales, en el objeto de conexión. Ejemplo: $idEmpleado = $conexion->escape($_POST["id"]);

Esto es obligación para evitar inyecciones SQL en los archivos que procesen peticiones que interactúen con la base de datos.

Además, es necesario asegurar la codificación del String que se insertará en la base de datos.

Claridad del código

Es importante que el código y que se escriban sean claros y fáciles de entender. Por eso, además de dar la explicación de que hace cada programa o función al principio, hay que tratar que las funciones quepan en una sola página y que antes de cada sección se explique qué es lo que se está haciendo. Sobre todo, cuando se usan “truquitos”, es muy importante que se explique lo que se está haciendo.

Inclusión de funciones y rutinas

Las funciones externas deben incluirse sólo una vez. Para lograr este fin, se debe utilizar la función include_once($nombre_del_archivo);

Al inicio de cada archivo que contenga funciones, se debe explicar el contenido de las mismas para poder no navegar dentro del archivo buscando alguna función.

HTML

Los códigos en HTML deben cumplir con unas reglas adicionales:

Estructura de archivos

Estándares en la BD

Nombres en las tablas

Campos

Generales

Tipos de dato

Relaciones

Propiedades de tablas

Se usará MySQL como Base de Datos relacional, por lo tanto debemos usar como motor de cada tabla InnoDB. Dependiendo del cliente MySQL que se use selecciona por defecto MyISAM, por eso es importante asegurarse que el motor por estándar en todas las tablas será InnoDB que si permite relacionarlas.

El Collate de la Base de Datos será utf8_spanish2_ciy será el mismo en cada tabla. (Este corresponde al alfabeto español tradicional)

Construcción de consultas

Para hacer consultas a varias tablas se deben usar JOINs entre ellas. Se debe evitar completamente hacer una consulta que una todas las tablas y luego empareje los campos foráneos y primarios.

Si la consulta es muy grande o se va a utilizar en varios lugares a la vez, hacer una “Vista” con ella para facilitar el acceso a la misma desde varios lugares.