Supongamos que tenemos un procedimiento que realiza alguna operación y devuelve un valor. Solo para el ejemplo, supongamos que tenemos un procedimiento Suma que recibe dos valores, &a y &b, y devuelve su suma.
¿Cuál es la diferencia entre invocar dicho procedimiento con call o con udp? Las invocaciones serían así
call(PSuma, &a, &b, &result)¿Cuál de las dos es mejor?
o
&result = udp(PSuma, &a, &b)
Desde el punto de vista del código generado, son casi idénticos. En realidad no tiene por qué haber diferencia, porque el resultado debe ser exactamente el mismo.
Pero desde el punto de vista de la legibilidad del código, el udp es mucho mejor que el call, porque nos dice cual fue la intensión de la invocación: cargar la variable &result con lo que devuelve el procedimiento.
Citando el blog Coding Horror (que a su vez cita una frase de un libro):
Programs must be written for people to read, and only incidentally for machines to execute.PD: la palabra legibilidad existe, me quedaban dudas por eso la busqué en el diccionario de la Real Academia Española...
17 comentarios: