Tout comme de nombreuses questions en programmation, la bonne réponse est "ça dépend". Pour prendre l'exemple Javascript/jQuery, une bonne règle est de savoir si le paramètre sera requis chaque fois que la fonction est appelée ou si elle est facultative.Par exemple, la fonction principale jQuery elle-même nécessite une expression pour déterminer quel élément (s) l'opération aura une incidence sur:
jQuery(expresssion)
Il n'a pas de sens d'essayer de passer ce paramètre dans le cadre d'un tableau comme il sera nécessaire chaque heure à laquelle cette fonction est appelée. D'autre part, de nombreux plugins jQuery nécessitent plusieurs paramètres divers qui peuvent être optionnels. Par convention, ceux-ci sont passés en paramètres via un tableau 'options'. Comme vous l'avez dit, cela fournit une interface agréable car de nouveaux paramètres peuvent être ajoutés sans affecter l'API existante. Cela rend l'API propre, car l'utilisateur peut ignorer les options qui ne sont pas applicables.
En général, lorsque plusieurs paramètres sont impliqués, les transmettre en tant que tableau est une bonne convention car beaucoup d'entre eux seront certainement optionnels. Cela aurait aidé à nettoyer de nombreuses API WIN32, bien qu'il soit plus difficile de gérer les tableaux en C/C++ qu'en Javascript.
Dans quelle langue programmez-vous? Je soupçonne Javascript. – bmargulies
Pouvez-vous donner un exemple d'une fonction que vous voulez refactoriser? – Ether