Utilidades para comprobar la calidad del código PHP

5 herramientas para comprobar la calidad de código PHP:

  • PHP_CodeSniffer comprueba si falta algún elemento de código estándar en los scripts PHP, Javascript y CSS
  • phpmd busca en el código PHP posibles problemas como bugs, código no óptimo o expresiones complicadas.
  • phpcpd detector de código PHP copiado/pegado.
  • PHP_Depend herramienta de métricas PHP.
  • PHPUnit framework de unidades de test.

Quality Assurance Tools for PHP

Vía / PHPDeveloper.org

Problemas con los feeds de FeedBurner

feedburner.JPGLos que sigáis Sentido Web mediante los feeds os habréis dado cuenta de que los acentos salían mal desde hace 2 días. Bueno, pues nuestro departamento de pensadores (entre los que no me incluyo), por fín ha dado con el problema.
Se trata de un problema con los quicklinks creados usando la extensión del.icio.us de Firefox, la cual admite un máximo de caracteres en la descripción y si nos pasamos de ese límite y da la casualidad (que se ha dado) de que el último caracter es una interrogación, al cortarse el UTF-8 se hace un lío y por eso salen mal los caracteres “latinos”.
¿Os ha pasado a vosotros algo parecido?
También hemos encontrado que en los extractos de los últimos comentarios, cuando se corta una entidad HTML (por ejemplo á) también nos salen caracteres extraños.

Lista de aplicaciones para gestión de errores

Se quiera o no, en todo proyecto hay errores y deben ser solucionados, en casi todos los proyectos en los que he estado, el control de los errores (o nuevas funcionalidades) se ha realizado mediante emails, documentos Word, hojas Excel o el famoso “oye, mírame esto que no funciona”. Las pocas veces que he trabajado con alguna aplicación de gestión de errores, me he encontrado con que se trata de algo muy útil y efectivo, recomiendo su uso, sobre todo para los jefes de proyectos, que son quienes deciden si se usan o no (sobre todo por no querer gastar en una herramienta y no fiarse del software open source).

Bugzilla

No creo equivocarme al decir que es el más conocido de todos. Creado por Mozilla, nos permite tener un seguimiento de errores y cambios, comunicación entre los miembros del proyecto, enviar y revisar parches y manejar la garantía de calidad. Además, entre otras características, nos permite llevar un control de tiempo, distintas formas de autenticación, gráficos y multilenguaje. Requiere Perl, MySQL o PostgreSQL, servidor web (Apache recomendado), módulos Perl específicos y Mail Transfer Agent.
bugs1.png

Bugzilla

BUGS – the Bug Genie

Desarrollado por Ruffdogs, fácil de usar, opensource, seguro, con historial sobre los errores, mensajería privada, temas y multilenguaje, entre otras características.
bugs2.png

BUGS – the Bug Genie

GNATS

Proyecto GNU, soporta distintas bases de datos, además existe una comunidad que desarrolla nuevas extensiones.

GNATS
bugs3.png

CodeTrack

Como caracterísitica principal es que no necesita ni base de datos ni servidor de correo (algo que puede ser una ventaja dependiendo de los recursos que podemos obtener en un proyecto). La información la guarda en XMLs y tan solo es necesario tener instalado Apache y PHP. De fácil instalación, funciona en navegadores antiguos, seguro y otras características que hacen que sea una aplicación sencilla y útil.bugs4.png

CodeTrack

Mantis

Desarrollado en PHP, siendo necesario MySQL y un servidor web (Apache a ser posible), este bug tracker tiene entre sus características el ser fácil de instalar, permitir varios proyectos, varios lenguajes, emails, búsquedas y filtros.
bugs5.png

Mantis

Bug-a-Boo

Aunque el nombre suene a risa, esta aplicación parece bastante seria. Solo para Linux, permite temas y está disponible en inglés y alemán.
bugs6.png

Bug-a-Boo

Zentrack

También diseñado para ayuda de helpdesk, con una interfaz bastante configurable, permite controlar el flujo de trabajo y el manejo de los datos, control de los tiempos y de las funcionalidades para los usuarios y lista de contactos.
bugs7.png

Zentrack

Hipergate

Una herramienta muy completa que ofrece un módulo de Gestión de Proyectos (seguimiento de tareas y control de incidencias). Todo esto además de herramientas colaborativas, gestión de contactos, etc. Con una licencia basada en GPL y desarrollado en Java (necesita un servidor de aplicaciones J2EE, al menos un contenedor servlets/jsp) y admite varias BBDD: postgresql, oracle, y sql server.
bugs8.png

Hipergate

Gracias Mondelo

Trac

Se integra con SVN y permite navegar por el código, abrir tickets y hacer una gestión del proyecto decente. Escrito en Python, admite las bases de datos SQLite, PostgreSQL y MySQL.
bugs9.png

Trac

Gracias Albert

Esperamos que os sean útiles y que si conocéis alguna más, nos lo hagáis saber para aumentar la lista.