4
votes

Devrions-nous mettre «i» en majuscule lorsque nous utilisons «iOS» comme mot dans un nom de classe?

Certains noms de marque n'aiment pas vraiment capitaliser sur leur première lettre, et changer peut la rendre complètement différente, en particulier pour "iOS". Il y a plus comme "mCore", "macOS", et ainsi de suite. En ce qui concerne les noms de classe, dois-je mettre la première lettre en majuscule ou la laisser originale?

par exemple " iOSCompatProxy " vs " IOSCompatProxy "


0 commentaires

3 Réponses :


-1
votes

Personnellement, je l'aurais comme iOSCompatProxy . Je pense que pour chaque règle dans ce monde, il y a des exceptions. :)


0 commentaires

2
votes

Il n'y a pas de convention universellement suivie pour ce type de nom de classe. Même une abréviation classique en majuscules comme "XML" provoque une incohérence; en regardant la liste officielle des classes JDK , je vois autant de classes nommées XMLSomething que XmlSomething .

Google traite ce sujet dans le Google Java Style Guide , où ils donnent un schéma pour transformer le texte en noms de classe:

Parfois, il existe plus d'une manière raisonnable de convertir une phrase anglaise en cas camel, par exemple lorsque des acronymes ou des constructions inhabituelles comme "IPv6" ou "iOS" sont présents. Pour améliorer la prévisibilité, Google Style spécifie le schéma (presque) déterministe suivant.

En commençant par la forme en prose du nom:

  1. Convertissez la phrase en ASCII brut et supprimez toutes les apostrophes. Par exemple, «l'algorithme de Müller» pourrait devenir «l'algorithme de Muellers».

  2. Divisez ce résultat en mots, en répartissant les espaces et toute ponctuation restante (généralement des tirets).

    • Recommandé : si un mot a déjà une apparence classique en cas de chameau dans l'usage courant, divisez-le en ses parties constituantes (par exemple, "AdWords" devient "mots d'annonce"). Notez qu'un mot tel que «iOS» n'est pas vraiment dans le cas du chameau en soi ; elle défie toute convention, donc cette recommandation ne s'applique pas.
  3. Désormais tout en minuscules (y compris les acronymes), puis en majuscules uniquement le premier caractère de:

    • ... chaque mot, pour donner majuscule chameau , ou
    • ... chaque mot sauf le premier, pour donner minuscules chameaux
  4. Enfin, réunissez tous les mots en un seul identifiant.

Leur schéma donne IosCompatProxy comme nom de classe et iosCompatProxy comme nom de variable. Ils ignorent délibérément la capitalisation d'origine en faveur d'une forme de cas de chameau plus basée sur des règles.

Ce n'est peut-être pas la forme la plus jolie à regarder, mais si vous cherchez une règle à suivre et que vous n'avez pas de règle pour cela là où vous travaillez, le guide de style de Google est aussi bonne règle que vous obtiendrez, car elle mentionne spécifiquement "iOS". J'ai tendance à considérer leurs conventions fortement en raison de l'immense quantité de Java qu'ils maintiennent en les utilisant (300 millions de lignes en 2018 [1] ).


0 commentaires

1
votes

De manière générale, dans les noms de classe Java, la première lettre et toutes les lettres suivantes qui commencent un nouveau mot sont toujours en majuscules, comme ThisIsAClass . Il s'agit de les distinguer des noms de variables et de méthodes. Ainsi, je pense que IOSCompatProxy serait le nom de classe approprié basé sur mon interprétation du guide de style Oracle, qui est le guide général de style Java, vu ici (je ne pense pas que des changements de style majeurs aient été apportés depuis la dernière mise à jour):

Les noms de classe doivent être des noms, en casse mixte avec la première lettre de chaque mot interne en majuscule. Essayez de garder les noms de vos classes simples et descriptifs. Utilisez des mots entiers - évitez les acronymes et les abréviations (sauf si l'abréviation est beaucoup plus largement utilisée que la forme longue, comme URL ou HTML).

De plus, parce que iOS est un acronyme qui est beaucoup plus largement utilisé que "Internet et système d'exploitation", je dirais que tout l'acronyme est en majuscule. Si vous avez une interprétation différente, comme celle qui correspond à ce que @Boann a écrit, utilisez-la.

Cependant, je vous déconseille de suivre le guide de style de Google à moins que vous ne travailliez pour Google (le suivi syntaxique général est probablement OK en supposant que Google base son guide de style sur celui d'Oracle) uniquement parce que leur style peut être différent de celui d'une entreprise pour laquelle vous travaillez l'avenir. Au lieu de cela, je recommande de suivre le guide de style Oracle, trouvé ici: https: // www .oracle.com / technetwork / java / codeconvtoc-136057.html


0 commentaires