Estructura e identación
Los procesos (perl, php, js) siguen una cierta secuencia:
- Declaración / activación de modo debug
- Carga de librerías externas
- Captura y validación de datos recibidos
- Validaciones adicionales
- Obtención de información de base de datos (si aplica)
- Prepar información
- Realizar acción o desplegar información
- Establecer criterio de finalización
Se ha utilizado una identación de tres espacios; teniendo como objetivo que cada bloque de
instrucciones, se encuentren en una nueva línea; incluyendo la etiqueta de finalización.
En caso de bloques de una sola línea, estos pueden indicarse en la misma línea con o sin
indicadores de bloque; si el bloque ocupa varias líneas, la etiqueta de inicio debe estar
a la misma altura que el comando que les agrupa con excepción de las declaraciones de función
Cada instrucción debe estar acompañada por un punto y coma (;).
Un ejemplo de códigos válidoss:
function cubeSqrt ($int_value)
{
$int_value = $int_value * sqr($int_value);
return sqrt($int_value);
}
for ($i=0; $i<count($arr_this); $i++)
{ print $i; }
for ($i=0; $i<count($arr_this); $i++) { $int_result = cubeSqrt($arr_this[$i]) + $i; print "The $i value is: $int_result"; }
for ($i=0;$i<count($arr_this);$i++) print cubeSqrt($i);
Constantes y variables
Constantes y variables son diferenciadas entre si pues las primeras son escritas en mayúsculas, mientras las segundas en minúsculas. Se busca que su nombre exprese la información que contendrá, acompañadas de un prefijo (en minúscula) que indica el tipo de dato almacenado, como son real_PI o int_counter. El objetivo es que este prefijo agilice la programación al aclarar el tipo de información contenida.
Los prefijos utilizados son:
- bool_
- Booleano En SiteUP! se manejan los valores enteros 1 y 0 como booleano por cuestiones de compatibilidad, como se menciona más adelante.
- char_
- Caracter
- str_
- String
- int_
- Entero
- real_
- Real
- arr_
- Array o arreglo indexado numéricamente (matriz en javascript)
- hash_
- Hash o arreglo indexado alfanuméricante (objeto en javascript)
- aa_, aofa_
- Array de arrays
- ah_, aofh_
- Array de hashes
- ha_, hofa_
- Hash de arrays
- hh_, hofh_
- Hash de hashes
- strct_
- Estructura
- date_
- Fecha
- time_
- Hora
- dtime_
- Fecha y hora
- obj_
- Objeto
- xchg_
- Tipo cambiante
- cgi_
- Objeto cgi
- img_
- Objeto imagen
- mail_
- Objeto correo
En el caso de variables auxiliares temporales como por ejemplo contadores de índice, puede omitirse el prefijo; como también hay elementos predefinidos. Estos son tratados en el siguiente apartado.
Objetos y funciones
Los objetos (reales) son escritos de forma capitalizada, mientras que las funciones son escritas en minúscula
la primer palabra y capitalizadas las siguientes.
ejemplos de objeto serían NavObject mientras
que de función navGet().
Tablas y campos
Las tablas y los campos son escritos en minúscula. Las tablas llevan el nombre en singular del tipo de servicio que contendrán; mientras que las de subservicio también en minúsculas y singular, estarán conformadas primeramente del tipo de alteración del servicio y posteriormente del nombre de este. Un ejemplo serían las tablas document y catdocument; documentos y categoría de documentos, respectivamente.
Los campos se encuentran ordenados de acuerdo a la siguiente secuencia:
- Identificador primario de la tabla (id)
- Identificadores secundarios de la tabla
- Identificadores externos (foreign id)
- Datos ocultos de identificación (author, setup, created ...)
- Datos públicos de identificación (name, description, ...)
- Datos particulares o propios del servicio
- Datos conteniendo información auxiliar.
Clases, nombres e identificadores
En el caso de variables o campos de acción en html (principalmente campos <input/>) el nombre y el id generalmente coinciden con el fin de poder acceder a ellos de manera estándar, en especial en lo referente a la detección de campos con error o a ser modificados.
En el caso de clases, estas siguen el estándar tipo - dimensión alteración especial, mismo que es explicado más a detalle en el aparatdo de CSS.
Otros
Los directorios deberán ser señalados con una diagonal al final, en especial al asignar el valor en una variable.
Los parámetros que afecten al sistema deberán ser claros en cuanto a su nombre para identificación.
Si un parámetro puede contener varios valores, el más reciente o relevante debe ir primero (ejemplo: service
en acciones sobre el servicio service).