Estructuras de control,Separar largas condiciones if en varias lineas,Comparación de variables y literales

1 Feb

Con esto nos referimos a las estructuras if, for, while, switch, etc. Las estructuras de control han de tener un espacio en blanco entre la palabra clave de control y la apertura del paréntesis, para distinguirlo así de las llamadas a funciones.

Se recomienda utilizar siempre los abre y cierra llaves, incluso en situaciones donde son técnicamente opcionales. Si los ponemos aunque no sean necesarios, aumentamos la legibilidad del código y reducimos el riesgo de errores lógicos cuando queremos añadir nuevas líneas al bloque de control.

Se recomienda colocar el abre llaves del bloque a ejecutar en una línea nueva tras las condiciones a cumplir, delimitando así claramente cada bloque a ejecutar.

Correcto

if ((condicion1) || (condicion2))
{
    accion1;
}

Las condiciones de bloques if se pueden separar en varias líneas si se excede el número límite de caracteres por línea. Las condiciones tiene que ser colocadas en una nueva línea e indentadas 4 caracteres. Los operadores lógicos (&&, ||, etc) deben colocarse al comienzo de cada nueva línea, facilitando así el comentar (y excluir) dicha condición. El cierre del paréntesis y de la llave han de colocarse en una nueva línea al final de las condiciones.

El colocar los operadores al comienzo de cada nueva línea tiene 2 ventajas:

  1. Es extremadamente fácil comentar y exlcuir una condición durante el desarrollo y prueba del código manteniendo bloque sintácticamente correcto.
  2. Revisar cada una de las condiciones es muy sencillo dado que todas están alineadas una debajo de otra.

Correcto

if (($condition1)
    || ($condition2)
    || ($condition3)
) {
    accion1
}

Cuando se hacen comparaciones lógicas, ha de colocarse siempre la variable en el lado derecho del comparador. De esta forma, si olvidamos un signo de igual (=) en el comparador se lanzará un error en el intérprete de PHP en lugar de asignar el literal a la variable y que se cumpla como verdadera la asignación, procediendo a ejecutar el contenido del bloque. Realmente no cuesta nada hacerlo así y nos ahorraremos muchos dolores de cabeza de depuración de errores.

Correcto

if ('rock' == $music)
if (NULL == $name)

Incorrecto

if ($music == 'rock') // corremos el riesgo de hacer if ($music = 'rock')


Anuncios

Una respuesta to “Estructuras de control,Separar largas condiciones if en varias lineas,Comparación de variables y literales”

  1. seo writing abril 9, 2013 a 10:53 pm #

    Howdy! Someone in my Myspace group shared this website
    with us so I came to take a look. I’m definitely enjoying the information. I’m book-marking
    and will be tweeting this to my followers! Superb blog and outstanding
    design and style.

Responder

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

Psyche's Circuitry

Thoughts on growing up and growing old in the digital age

digiphile

We're already living in the future. It's just not evenly distrbuted yet.

TED Blog

The TED Blog shares interesting news about TED, TED Talks video, the TED Prize and more.

Why? Because Science.

Combating Stupidity Since 2012

TechCrunch

Startup and Technology News

Skeptical Software Tools

Applying the power of the programmable web to the purposes of skepticism.

CNNEspañol.com

Ultimas Noticias de Estados Unidos, Latinoamérica y el Mundo, Opinión y Videos

Negocios, Mujer y Tecnología

Desde una perspectiva diferente

MSexcel

Un pequeño aporte para todos :)

Omar Barrera

whats are you doing?

Era 2.0

Mi rincón sobre marketing y nuevas tecnologías

Desarrollo e ingeniería

Desarrollo de soluciones en informática

A %d blogueros les gusta esto: