sábado, 1 de septiembre de 2012

PHP correcto (parte 3)

Bien, la vez anterior vimos detalles un poco técnicos sobre como desarrollar aplicaciones mas profesionales.

Ahora veremos lo que es mas encumbrado en el desarrollo, se trata de TDD y BDD, son acronimos en ingles los cuales son Test Driven Development (desarrollo guiado por pruebas) y behavior driven development (desarrollo guiado por pruebas) se tratan de procesos de desarrollo de software que deben ser ampliamente conocidos por los ingenieros y licenciados que estudian carreras afines, desde luego esto no esta limitado a ellos y no debe ser un pretexto no contar con dicho nivel de escolaridad para no aplicarlos.

Se trata de no solo una buena practica si no de ingeniería de software, solo así daremos mucha calidad a nuestros desarrollos.

En TDD invertimos la forma tradicional de programador donde se escribía el código y luego las pruebas, ahora primero son las pruebas y luego el código, con lo que aseguramos que nuestro código salga bien y a la primera. Para este tipo de desarrollo se puede usar PHPUnit o Simpletest que también es un framework para esta tarea.

Cabe señalar que después de esto, no es suficiente y podría necesitarse hacer lo que se llama pruebas funcionales, donde se prueba el sistema en conjunto (ensamblado), ya no son solo pruebas unitarias, ahora son sobre el funcionamiento del sistema. Para ello disponemos de Codeception.

En BDD el desarrollo se orienta al comportamiento que debe tener nuestra aplicación y existen dos caminos, una es Story BDD donde se enfoca al negocio a como deben comportarse las características de nuestra aplicación.

Mientras que en Spec BDD se enfoca en el comportamiento técnico que deberá tener el código, lo que se espera que hagan nuestras funciones o métodos, para esto tenemos la herramienta PHPSpec.

Conclusión.

Finalmente Escribí esta pequeña guía, solo para servir de orientación de por donde empezar, finalmente es el programador quien elige el camino, como en el principio vuelvo a reiterar, no existe una forma canónica de programar en PHP, pero si una manera de ser mejores y mas profesionales programadores. Muchos de los conceptos si no es que todos, son aplicables a cualquier lenguaje no solo para PHP.

Saludos.

No hay comentarios.:

Publicar un comentario