lunedì 5 maggio 2008

Considerazioni su varargs

Con l'avvento di Java 5 sono comparse le funzioni varargs, ossia metodi che accettano un numero indefinito di parametri. In questo post non mi soffermo sui dettagli tecnici, bensì su alcune considerazioni concettuali.

Mediante varargs molti programmatori hanno erroneamente capito che per passare un numero qualsiasi ed eterogeneo di parametri si dovesse dichiarare un metodo come varargs. FALSO! Esistono molti modi per passare più di un parametro ad un metodo, primo fra tutti l'uso di una mappa o dictionary (ad esempio Properties), che risulta più compatto, più leggibile, uniforme, estendibile e altrettanto efficiente. Inoltre va considerato che tipicamente un metodo dovrebbe avere 3-4 parametri, per motivi di leggibilità ed efficienza, e quindi mi sento di sconsigliare l'utilizzo di metodi varargs ove non strettamente indispensabile, preferendo a questi metodi che accettino contenitori di parametri (come appunto i dizionari).

Nessun commento: