Hola:
En lenguajes que no soportan el concepto de argumentos con nombre, cuando llamamos a una función (o a un método, en lenguajes tipo OO), podemos escribir directamente los valores que pasaremos a la llamada, o crear variables temporales que nombren qué representa cada valor. Esto último lo practica alguna gente bajo la filosofía del "self-documenting code".
Si optamos por escribir directamente los valores, esto nos obliga, o bien a memorizar qué argumentos recibe cada función y en qué orden, o bien a usar un IDE que nos los muestre. Es decir, que no se pueden leer en el propio código, lo que puede ser un problema si alguien con menos conocimiento accede al código fuente desde un terminal o un editor de textos. Otro problema es que si se anidan llamadas, hay que formatearlas muy bien para que sean legibles.
Si elegimos la otra opción, podemos ver claramente para qué es cada valor. Pero con el inconveniente de que hay mucho más texto que leer (según el lenguaje) y más "conexiones" que realizar mentalmente entre la llamada y la declaración de los argumentos.
Una tercera posibilidad es usar la segunda opción, pero hacer excepciones para métodos comunes y muy bien conocidos que se repiten mucho durante el código. Ejemplos: String.substring, String.indexOf, Math.abs, etc.
Así que quería saber qué hacéis en vuestro día a día. ¿Confiáis en vuestro IDE para estas cosas o preferís que el propio código fuente lo exprese?
Gracias.