Les termes sont quelque peu interchangeables, bien que dans certaines situations, je préfère l'un plutôt que l'autre. En général, vous pouvez obtenir le meilleur usage si vous pensez à Comment décririez-vous verbalement à une autre personne la longueur/taille/nombre de cet élément ?
length()
implique que l'élément a une longueur. Une chaîne de caractères a une longueur. Vous dites "une chaîne de caractères a une longueur de 20 caractères", n'est-ce pas ? Elle a donc une longueur.
size()
implique que l'élément a une taille. Par exemple, un fichier a une taille. Vous dites "ce fichier a une taille de 2 Mo", n'est-ce pas ? Il a donc une taille.
Cela dit, une chaîne peut aussi avoir une taille, mais je m'attendrais à autre chose ici. Par exemple, une chaîne UTF-16 peut avoir une longueur de 100 caractères, mais comme chaque caractère est composé de deux octets, la taille devrait être de 200.
count()
est très inhabituel. Objective-C utilise count pour le nombre d'éléments d'un tableau. On pourrait se demander si un tableau a une longueur (comme en Java), une taille (comme dans la plupart des autres langages) ou un nombre. Cependant, la taille pourrait être à nouveau la taille en octets (si les éléments du tableau sont des int 32 bits, chaque élément est de 4 octets) et la longueur... Je ne dirais pas "un tableau a une longueur de 20 éléments", cela me semble plutôt étrange. Je dirais "un tableau a 20 éléments". Je ne suis pas sûr que count exprime cela très bien, mais je pense que count est ici une forme courte de elementCount()
et cela a beaucoup plus de sens pour un tableau que length() ou size().
Si vous créez vos propres objets/éléments dans un langage de programmation, il est préférable d'utiliser ce que d'autres éléments similaires utilisent, puisque les programmeurs ont l'habitude d'accéder à la propriété souhaitée en utilisant ce terme.
0 votes
Et il y a
List.Capacity
également en C#.0 votes
J'espère que les nouvelles langues éviteront les termes ambigus.