Prolijidad es la clave

Escenario

Hace poco tiempo, un cliente al cual le vengo haciendo modificaciones en su web me comenta que estaba teniendo problemas con una de las páginas. Simplemente al abrirla quedaba en blanco, no pasaba nada.

Si bien ya venía trabajando con su sitio, el archivo que intervenía en la creación y muestra de esa página no había sido modificado hasta el momento, descartando toda posibilidad de que sea un problema por algún cambio hecho en el último tiempo.

Entré en el sitio y efectivamente, lo único que se veía era una página en blanco cuando se quería entrar al vínculo. Tengo una réplica del sitio en mi servidor local, ingreso y el mensaje de error estaba referido a un error en la sintaxis.

Desarrollo

Hasta ahora les comenté Cuál fue el problema principal, un error de sintaxis. Ahora vamos a referirnos un poco al por qué creo que se dio ese error. Ya que cuando abrí el archivo me encontré con varias cosas.

En primer lugar, cualquier IDE medianamente buena, tiene un control de sintaxis incorporado, que nos permite descubrir estos problemas, antes de subir el archivo. Sé que los tiempos a veces son cortos, pero más simple y rápido será apretar un botón y solucionar esos errores.

El error en sí, estaba dando por dos problemas grandes. Un punto y coma perdido en medio de una línea y una serie de condiciones y bucles anidados mal cerrados. Otra características que nos marcará el corrector de sintaxis, además de que podremos ver donde se abre una condición o un cliclo de repetición y donde se cierra. De esta manera vamos a identificar de manera simple, si nos falta cerrar una llave o no.

Pero eso no es todo lo que había. Una de las cosas que encontré, tal vez tenga su justificación pero para mi no deja de ser un problema potencial, fueron IF anidados, y en algunos casos SIN llaves. Les pongo un ejemplo a continuación:

if(condición A) {
acción verdadera "A"
if (condición B)
Acción verdadera "B"
else
Otra acción "B"}
else
otra Acción "A"}

Por lo que he leído en varios lugares, es válido omitir el uso de llaves en los condicionales. Pero vamos a referirnos a la documentación de PHP. Releyendo la parte sobre estructuras de control, sólo hace referencia a dos formas de escribirlas, una mediante el uso de llaves y otra mediante el uso de dos puntos.

Fuera de eso las llaves tienen sus por qué, al igual que se identa el código, buscando una forma visual y rápida de reconocer que líneas están dentro de una estructura de control, donde comienza, donde termina.Y esto es útil en las dos etapas claves de la programación:

Desarrollo y depuración: Nos permitirá controlar mientras lo estamos escribiendo que no olvidamos cerrar nada. Y la depurar nos permite identificar rápidamente si cerramos una estructura antes de lo debido.

Mantenimiento: Al momento de modificar el código, o solucionar problemas que no se detectaron previamente, como puede ser errores que se dan sólo bajo determinadas circunstancias, será más rápido y además menos propensos a errores. No siempre vamos a recordar que pensamos al momento de escribir el código.

Conclusiones y recomendaciones

Creo que la recomendación principal está en el título. Prolijidad es la Clave. Hagamos uso de las llaves, identemos el código y por sobre todo mantengamos un orden a la hora de programar.

Las IDE son de gran ayudas, muchas de ellas al escribir un if, un while, un for, ya nos plasman en el código los paréntesis y las llaves. Aprovechemos esa herramienta. Seguramente será para bien nuestro a futuro.

Ni hablar si programamos con un grupo de personas. Todo esto debería estar más que charlado y estandarizado para que todos tengan la misma forma de trabajo.

Post a Comment

Your email is kept private. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.