Estructura e identación

Los procesos (perl, php, js) siguen una cierta secuencia:

  1. Declaración / activación de modo debug
  2. Carga de librerías externas
  3. Captura y validación de datos recibidos
  4. Validaciones adicionales
  5. Obtención de información de base de datos (si aplica)
  6. Prepar información
  7. Realizar acción o desplegar información
  8. Establecer criterio de finalización
Esto indica que primero se obtiene todo lo necesario para realizar el proceso, se valida y si cumple las condiciones se realiza la actividad. Esto dista de algunos otros sistemas donde la información es validada y desplegada conforme se obtiene, pudiendo generar errores o requerimientos de rollback.

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);
Es importante que esta identación no es seguida en CSS debido a que no aporta nada adicional (excepto espacios).

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:

  1. Identificador primario de la tabla (id)
  2. Identificadores secundarios de la tabla
  3. Identificadores externos (foreign id)
  4. Datos ocultos de identificación (author, setup, created ...)
  5. Datos públicos de identificación (name, description, ...)
  6. Datos particulares o propios del servicio
  7. 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).