Je suis en train d'écrire un petit ORM maison (intérêt académique). J'essaie d'adhérer au concept TDD en tant qu'exercice d'entraînement, et dans le cadre de cet exercice, j'écris de la documentation pour l'API au fur et à mesure que je développe la classe.
Exemple concret : je travaille sur une classe de mappeur classique de type "getCollection". Je veux qu'elle soit capable de récupérer des collections d'actifs X (disons des articles de blog) pour un utilisateur spécifique, ainsi que des collections basées sur un tableau arbitraire de valeurs numériques. Ainsi, vous pourriez avoir une méthode comme l'une des suivantes
$User = $UserMapper->load(1);
$ArticleCollection = $ArticleMapper->getCollection(range(10,20));
$ArticleCollection = $ArticleMapper->getCollection($User);
$ArticleCollection = $ArticleMapper->getCollection($User->getId());
Ainsi, lors de la rédaction de la documentation relative à la méthode getCollection, je souhaite déclarer la variable @param dans le bloc de documentation. Est-il préférable d'avoir une méthode unique pour chaque type d'argument, ou est-il acceptable d'avoir une méthode qui délègue à la bonne méthode/classe interne en fonction du type d'argument ?