8 de mayo de 2007

PHP: Funciones para fastidiar a otros programadores

¿Os gustaría hacer vuestro código ilegible para otro programador?
¿Os gustaría que os piten los oídos cada vez que un compañero tenga que editar vuestro código 10 meses después?
¿Os gustaría que el nombre de vuestra madre y la madre de su madre fuesen repetidos una y otra vez por otros programadores?

Pues PHP os ayuda en esta loable tarea con estas tres maravillosas instrucciones:
  • func_get_args(): Sirve para obtener los argumentos enviados a una función o método.
  • func_num_args(): Sirve para conocer el número de los argumentos enviados a una función o método.
  • func_get_arg(): Sirve para devolver un argumento determinado de la lista enviada a la función.

Gracias a estas funciones podréis programar funciones y métodos sin tener que codificar los argumentos al inicio de una función. De tal manera que por ejemplo la función obtenerDatos(texto,posicion) ahora puede ser llamada sólo obtenerDatos() ya que con las instrucciones que he puesto en la lista de arriba podemos obtener estos argumentos. Ideal para funciones con muuuuuuucha longitud para que el que llegue después tenga que volverse loco intentando reorganizar el galimatías de función que le hemos dejado.

En fin, ¡Viva la legibilidad del código!

Y no, este post no lo ha inspirado ninguno de mis compañeros de trabajo, si no por el código fuente de Wordpress.


Comparte este Post:
Menéame Digg!

4 comentarios:

David dijo...

Hola friki. Esas funciones, más que para crear funciones con muchos argumentos, sirven para hacer funciones que reciban un número variable de argumentos, de forma que la puedas llamar con 2, 4, 9... argumentos y, dependiendo del número de éstos que reciba, actuar de una forma u otra.

Son muy útiles pero, cómo casi todas las cosas, se pueden usar para hacer el bien o para hacer el mal. Be water my friend...

Por cierto, te espero esta tarde. ¿Pizza? ¿Chino? ¿Burguer? ¿Ensaladitas gays?

Gabriel Cuesta dijo...

En esta ocasión se utilizó para centralizar el formato de la salida de textos de una serie de funciones.

Es decir, para el programador original con el análisis en sus manitas era lógico, pero para mí, hasta que conseguí destripar todo el flujo de la clase no tenía sentido.

Al final sentido donde estaba tiene, pero eso sí, legibilidad del código = 0.

En cuanto a la cena lo que tu decidas. Eso sí, ten la XBOX lista :P

David dijo...

¡Oh! ¡Vaya! Veo que vienes dispuesto a humillarme como de costumbre... :)

Gabriel Cuesta dijo...

Es que ahora ya controlo los mandos de la XBOX 360 y podré adaptarme fácilmente a los de la XBOX normal.

Me resarciré la última humillación.

"No manejes el pad, sé el pad"