Bonnes pratiques catégories

Salut !
Ma question est simple: y-a-t-il des bonnes pratiques dans la gestion des catégories ?
Par exemple, dans la capture ci-dessous, vous pouvez voir 5 catégories rien que sur les NSString.
Je ne sais pas quel impact ont les appels aux catégories sur les performances, mais en l'occurrence, est-ce pareil d'avoir 5 catégories avec des méthodes spécifiques ou bien 1 catégorie avec toutes les méthodes, catégorie que je pourrais appeler NSStringAdditions par exemple?
Quelle est votre pratique ? Quelle est la bonne pratique ?
Ma question est simple: y-a-t-il des bonnes pratiques dans la gestion des catégories ?
Par exemple, dans la capture ci-dessous, vous pouvez voir 5 catégories rien que sur les NSString.
Je ne sais pas quel impact ont les appels aux catégories sur les performances, mais en l'occurrence, est-ce pareil d'avoir 5 catégories avec des méthodes spécifiques ou bien 1 catégorie avec toutes les méthodes, catégorie que je pourrais appeler NSStringAdditions par exemple?
Quelle est votre pratique ? Quelle est la bonne pratique ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Généralement je préfère mettre "NSStringDrawingAdditions" par exemple.
Après, quand on commence à avoir plusieurs catégories de NSString, je commence à tout rassembler dans un seul et je nomme ça "NSStringMyProjectAdditions"
Pour ce qui est des performances quant à la multiplication des catégories d'une même classe, ça ne change rien. Le runtime associe les méthodes additionnelles une fois pour toute.
On met bien ce qu'on veut à la place du +. ;-)
Ouais, je suis d'accord, le coup de "...Additions" est pratique.
Ok, pour ta remarque sur les performances, c'est logique.
NSString+Base64.h va grouper tout ce qui sert au Base64, qui n'a rien à voir avec NSString+Distance.h qui va contenir les méthodes de calcul SoundEx ou distance Levhenstein ou autre.
J'aime bien le + et derrière je met en général le nom de la catégorie. Par exemple dans "NSString+Base64" je met la catégorie [tt]@interface NSString(Base64)[/tt], etc.
Il n'y a pas vraiment de guidelines Apple pour ça ?
Pour ma part je fais comme Aligator, je sépare les catégories pour bien séparer les fonctions ajoutées. Pour les noms je n'ai pas de règle précises. Il est juste bon que le nom soit significatif de la fonction ajoutée.