Buenas prácticas al programar

septiembre 11, 2007 at 11:08 pm 6 comentarios

Una de las cosas que más odio, es cuando me piden ayuda o me pasan el código fuente de algún programa, y al ver este, no se entiende nada. Todo en una sola linea, variables que no se entienden, cero indentación, etc.

Mucho se habla de al momento de realizar un sitio web, que el código fuente, tanto sea html, css, javascript, sea muy claro, tanto que sea mejor tomado por los buscadores como para optimizar el trabajo. En si no solo debes enfocarte en la parte pública, por decirlo de alguna forma, lo ideal es tener una reglas para programar, para que este sea entendible y claro, tanto para ti, como para otras personas que algún día tendrían que lidiar con tu código.

Mas que nada las buenas prácticas nos ayudan a:

  • Fácil compresión por parte del programador.
  • Claridad y correctitud del código.
  • Fácil comunicación entre programadores.
  • Unificación de criterios.
  • Fácil integración y reutilización.

Ocupa nombres de variables claros

Con esto quiero decir que si van a crear sus variables que mas o menos se entienda cual es su contenido por ejemplo:

$a = "1986"; $e = "21"; $p = "chile"; $c = "Santiago";

No es lo mismo que escribir:

$anio = "1986";
$edad = "21";
$pais = "Chile";
$ciudad = "Santiago";

Si se fijan son variables bastante entendibles y que en cualquier parte del código nos daremos cuenta cual es su contenido. Además de esto, es bueno que elijan nombres de variables cortos y obviamente lo más claro posible.

Las llaves se ven mucho mejor en una linea cada una

Este es un pequeño tip, pero que ayuda bastante al momento de ordenar el código, no es lo mismo.

function test($say=false){ if($say){ echo "hello world"; }}

a esto.

function test ($say = false)
{
    if ($say)
    {
        echo "hello world";
    }
}

Si se fijan esta todo mucho mas claro.

Indenta, ¡INDENTA!

Esto mas que una buena práctica, es una regla en todo lenguaje. Con la indentación uno puede organizar o segmentar el código, dejar más claro y óptimo el entendimiento de este, basándome en el ejemplo anterior la indentacion se refiere a esto.

function test ($say = false)
{
    if ($say)
    {
        echo "hello world";
    }
}

Si se fijan hay un espacio en cada linea, eso es la indentacion y equivale en lo normal a un tab por nivel o a 4 espacios.

Siempre comenta tu código, ¡no tienes memoria de elefante!.

Esta es una regla que últimamente se ha vuelto más fuerte, con el uso de SVN o de proyectos Open Source, es de vital importancia comentar que hace cada función o clase, para lograr su entendimiento. En el comentario deben ir como mínimo:

  • Breve descripción de que realiza
  • Parámetros que este recibe, más su tipo
  • Valor de salida o retorno y su tipo
  • Fecha de su última modificación

Un ejemplo de este tipo seria.

/**
  * Devuelve la fecha en formato d/m/Y
  *
  * @param integer $time Tiempo formato UNIX equivalente a time()
  * @return string sucess
  * @created 2008-09-11 20:00 UTC-4
  * @last modified 2008-09-11 22:28 UTC-4
  * @author Quest http://www.crazychile.net
  * @licence MIT 1.1
  **/
function myDate($time=null)
{
    if (is_null($time))
    {
        $time = time();
    }
    return date("Y/m/d", $time);
}

La anterior es un comentario algo extendido, pero es bastante práctico.

Decidete por un idioma

Esto es una bobería dirían algunos, o es algo tonto, pero hay programadores que escriben sus códigos en como 3 idiomas, no faltan las variables o funciones llamas algo asi.

addCiudad
EditaName
devuelveValue

Si realizamos algo, que sea de forma ordenada, aunque no lo crean estos cambios tan minúsculos nos ayudan bastante, no sólo en la programación sino además en el orden de nuestras cosas. Además aprovechando que estamos viendo nombres, es ideal que utilicen un estilo “camelize” es decir:

addDate
editUser
viewMyProfile

Este es un estilo que se ha ido generalizando debido a los frameworks que existen actualmente, por ejemplo en CakePHP cuando creamos un Model y el nombre del archivo es my_model.php la variable que genera es $MyModel.

Ordena tus Arreglos y Consultas

Esto también va con el orden y es muy recurrente ver arreglos mal formados. Ordenar indentando y agrupando nuestros arreglos de la misma forma en que lo realiza el tab <pre> cuando queremos imprimir el contenido de un arreglo, por ejemplo.

$myPlaces = array(
   'home' => array(
        'pieza', 'cocina','patio','comedor','living'
    ),
    'institute' => array(
        'sala','biblioteca','sala de computación','casino'
    )
);

Lo mismo va para las consultas SQL, se ven mucho mejor organizadas por grupos, ejemplo.

$sql = mysql_query("
    SELECT Page.id, Page.title, Page.content, Page.hits
    FROM pages as Page
    WHERE
        Page.title LIKE '%" . $queryTitle . "%'
        AND
            Page.hits > 100
    ORDER BY Page.title ASC
    LIMIT " . $queryLimit . "
);

Siguiendo estas reglas, tu programación será más clara y expedita, además quiero remarcar que esto no es sólo para un lenguaje, es decir, no porque haya puesto sólo códigos PHP estas reglas solo sirvan para este, lo ideal es tener esto a nivel global y generar nuestros códigos más limpios.

Aunque no lo crean cuando me pasan un código desordenado, prefiero perder un par de minutos en ordenarlo que en intentar entender este tipo de desorden, no se quizá sea algo “exquisito” pero no soporto algo que sea ilegible.

Dejo el post abierto, para comentarios y ver que otras reglas tienen ustedes.
.

Ver VideosTe VerdeVideos 3GP3GPsomos tu y yo

About these ads

Entry filed under: Programación. Tags: .

Reiniciar Linux en forma segura en caso de Bloqueo Errores típicos en Javascript

6 comentarios Add your own

  • 1. Listas de consejos para programadores | Móchate  |  enero 14, 2008 en 1:09 pm

    [...] Buenas prácticas al programar [...]

    Responder
  • 2. carlosruizortega  |  mayo 13, 2009 en 11:20 am

    Holap:

    Absolutamente de acuerdo… xD

    Saludooos :P

    Responder
  • 3. Jessica  |  noviembre 6, 2009 en 6:54 am

    Estoy de acuerdo.. un código desordenado me causa dolores de cabeza o me confunde.

    Responder
  • 4. leonel herrera  |  noviembre 23, 2010 en 12:58 pm

    EL ORDEN Y LA CLARIDAD SON ESENCIALES Y LA SEPARACION
    EJEMPLO NO ES IGUAL
    VAR VRESULTADO AS DOUBLE = RESULTADO
    //______________________________________________

    VAR VRESULTADO AS DOUBLE = RESULTADO

    Responder
  • 5. Olga  |  febrero 26, 2012 en 1:19 pm

    tomare en cuenta tu forma de comentar el codigo, por otro lado deberias hablar un poco de la nomenclatura camello o camelCase yo odioooo cuando declaran las variables como les da la gana y despues ni saben como se llamaba la variable si con mayuscula rayita abajo minuscula ingles con español…

    Responder
  • 6. online paralegal training  |  octubre 1, 2012 en 6:23 am

    Hi there, I discovered your blog by way of Google
    at the same time as looking for a related subject, your website came
    up, it seems good. I’ve bookmarked it in my google bookmarks.
    Hello there, simply changed into alert to your blog via Google, and found that it’s truly informative.
    I’m gonna watch out for brussels. I will appreciate for those who proceed this in future. Many other people shall be benefited out of your writing. Cheers!

    Responder

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed



Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: