Bonnes pratiques catégories

muqaddarmuqaddar Administrateur
septembre 2011 modifié dans Objective-C, Swift, C, C++ #1
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 ?

Réponses

  • 22:12 modifié #2
    J'aime pas le +, car il ne sera pas inscrit tel quel dans la déclaration de la catégorie (remplacé par un underscore je crois)
    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.
  • muqaddarmuqaddar Administrateur
    22:12 modifié #3
    dans 1316962435:

    J'aime pas le +, car il ne sera pas inscrit tel quel dans la déclaration de la catégorie (remplacé par un underscore je crois)


    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.
  • AliGatorAliGator Membre, Modérateur
    22:12 modifié #4
    Moi je préfère garder séparé.

    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.
  • muqaddarmuqaddar Administrateur
    22:12 modifié #5
    Donc, c'est une histoire de préférences personnelles.
    Il n'y a pas vraiment de guidelines Apple pour ça ?
  • tabliertablier Membre
    22:12 modifié #6
    Je ne pense pas qu'il y ait de guideline sur ce sujet.
    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.
Connectez-vous ou Inscrivez-vous pour répondre.