Todos los estilos descritos a continuación apuntan a crear codigo facil de leer, facil de mantener y bien estructurado.

PHP

Comentarios

Se deberan seguir las reglas de phpdoc. Asi cada funcion debe estar estar comentada con al menos una descripción corta de la función.

/**
 * This is a DocBlock comment
 */
function foo()
{
}

Se pueden agregar otros elementos como: descripción larga, @param, @return, etc

/**
 * Este es mi metodo y hace algo genial
 *
 * @param  string $someString   Cadena de ejemplo
 * @param  int    $someInt      Codigo numerico de ejemplo
 * @return array | false
 */
public function myMethod($someString, $someInt)
{
    if ($someString != 'Si')
    {
        return array('yay');
    }
    else
    {
        return false;
    }
}

Plugin para Sublime Text recomendado.

Dentro del codigo se van a preferir comentarios de una linea para describir acciones que no sean facilmente entendibles solo viendo el codigo.

//describo la accion realizada abajo
$aux = ($cadena == 'perro') ? 'Es un perro' : 'No es un perro';

Para definir secciones dentr del codigo se utilizara el siguiente template. No se debe abusar de el, sino usarlo cuando es realmente util.

/*=============================================
=            Section comment block            =
=============================================*/

echo "Aqui el codigo";

/*-----  End of Section comment block  ------*/

Plugin para Sublime Text recomendado.

Nombre de clases

Las clases se deberan nombrar usando StudlyCaps.

class MiClase{
}

Nombre de funciones

Las funciones se deberan nombrar usando camelCase.

public function miFuncion()
{
}

Los nombres de funciones deben estar en ingles.

Nombre de variables

Las variables se deberan nombrar usando camelCase.

$miVariable = TRUE;

Los nombres de variables deben estar en ingles.

Las variables deben tener un nombre lo mas corto pero significativo posible. Deben tener un significado claro para cualquier persona aunque no haya visto nunca el codigo.

//Bien
$clientAddress

//Mal
$cAdd

Nombre de constantes

Las constantes se deberan nombrar usando siempre mayusculas y separando terminos con guion bajo.

const DATE_APPROVED = '2014-09-07';

Los nombres de contantes deben estar en ingles.

Llaves de aperturas

Por su demostrada ayuda en la legibilidad de cogido PHP se usaran llaves de aperturas en la linea siguiente de todas las estructuras de control, funciones y demas.

if($valor)
{
    //Codigo
}
La unica excepcion seran las llaves de apertura de clases.
class MiClase{
}

Lineas en blanco

El objetivo es hacer el codigo muy legible y para ello lo que se debe hacer uso sin miedo de las lineas en blanco o saltos de linea.

Se deben usar lineas en blanco siempre que se considere necesario y en la siguiente situaciones:

Tab vs Spaces

Se debe usar en el codigo Tabs en vez de Espacios.

Espacios en blanco

Asi como las lineas en blanco, los espacios en blanco aportaran mucho a la legibilidad del codigo. Por ello no se deben escatimar.

Habra que usar espacios en blanco siempre en las siguiente situaciones:

Un caso donde siempre de deben evitar los espacios en blanco es al final de cada linea de codigo. Esto es para evitar contratiempos con git y las diferencias de archivos.

En sublime text basta con ir a Preferences->Settings - User y agregar la siguiente linea:

"trim_trailing_white_space_on_save": true,

Comillas

Se deben usar comillas simples si el contenido sera solo texto.

$name = 'Eduard Federic';

En el caso de que haya una variable en el texto se preferira usar comillas dobles en vez de concatenar variables con comillas simples.
Esto mejora la legibilidad del codigo y el sacrificio en performance es minimo.

//No usar
$greetings = 'Hello '.$name;

//Es preferible
$greetings = "Hello $name";

Codigo SQL

En el caso de tener codigo SQL este debe quedar claramente expresado usando una linea para cada parte de la consulta. Asi mismo las sentencias SQL deberan estar en mayusculas.

$result = findBySql('
    SELECT * FROM user WHERE
    age = 25 AND
    city = "Salta"
    ORDER BY age
');

HTML

CSS

Fuentes

Todas las fuentes usadas o consultadas para crear este documento se detallan a continuación. Sin ningun orden en particular.

De ellas se tomaron las que por experiencia se consideraron las mejores practicas para trabajar tanto por cuenta propia como en un equipo.