J'ai cité ce segment du document de Sun au cours des derniers jours, et seulement maintenant, je m'arrête et pensez à ce que cela dit, et je ne peux pas y avoir de sens. Veuillez garder à l'esprit que l'anglais n'est pas ma langue maternelle. P>
variables: à l'exception des variables, toutes les constantes de classe, de classe et de classe sont mêlées avec un première lettre minuscule EM>. P> blockQuote>
Comment cela a-t-il un sens? N'est-ce pas dit que les noms de classe sont dans un cas mixte avec une première lettre minuscule? Comme je devrais nommer
classe myClass code>? Et les constantes de classe sont également dans un cas mixte avec une première lettre minuscule? Comme au lieu de
integer.max_value code>, il aurait dû être nommé
integer.maxvalue code>? P>
Et c'est vraiment dire quoi que ce soit sur la manière dont les variables elles-mêmes devraient être nommées? P>
Suis je ne pas analyser correctement ou est-ce une erreur flagrante? P>
4 Réponses :
Ceci est presque certainement une version mal éditée de ce qui est réellement signifié: p>
variables: toutes les noms de variables (à l'exclusion des constantes) sont mélangés cas avec une première lettre minuscule. P> blockQuote>
Oui, cela aurait senti logiciel, comme ça devrait I> la recommandation officielle. Je suis juste surpris que ce document officiel présumée contenait une telle erreur criante et il est imprévu après tout ce temps.
La déclaration comme écrit n'a aucun sens. Je l'ai regardé pendant un moment avec un regard drôle sur mon visage, essayant de le donner un sens. Mais dans des centaines de pages de recommandations, ces choses manquent.
Alors, comment suis-je supposé citer l'autorité sur cette recommandation dans mes réponses? Je suis toujours de retour sur cette citation chaque fois que je vois que les gens nomment leurs variables avec une première lettre majuscule; Seulement maintenant, je me rendrai compte que cela n'a aucun sens et que cela aggrave probablement les choses pour eux.
Le texte que vous référencez est clairement absurde. Contactez Oracle, demandez une solution. Reportez-vous à d'autres sites de convention de codage, tels que géosoft.no/development/javastyle.html : "variable Les noms doivent être dans des cas mixtes à partir des minuscules. "
Ceci est quelques cases au-dessus:
Les noms de classe doivent être des noms, dans un cas mixte avec la première lettre de chaque mot interne capitalisé. Essayez de garder vos noms de classe simples et descriptifs. Utilisez des mots entiers: évitez les acronymes et les abréviations (sauf si l'abréviation n'est pas beaucoup utilisée plus largement que la forme longue, telle que l'URL ou HTML). P> blockQuote>
xxx pré> et ci-dessous que: p>
Les noms des variables déclarés que les constantes de classe et des constantes d'ANSI doivent être toutes majuscules avec des mots séparés par des sous-traitants ("_"). (Les constantes ANSI doivent être évitées, pour faciliter le débogage.) P> BlockQuote>
static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999; static final int GET_THE_CPU = 1;
La question n'est pas ce que disent les autres cases. La question est de savoir quelle est cette boîte disant. Parce que ça n'a aucun sens.
La meilleure façon de contourner cela est de regarder le contexte.
Vous devez lire le tout pour obtenir le contexte:
sauf pour les variables, tout cas, classe et les constantes de classe sont dans cas mixte avec une minuscule en premier lettre. Mots internes commencent par lettres majuscules. Les noms variables doivent pas commencer par le soulignement _ ou le dollar signez des caractères $, même si les deux sont autorisés. p>
Les noms de variables doivent être courts encore significative. Le choix d'une variable nom devrait être mnémonique - c'est-à-dire conçu pour indiquer au décontracté Observateur l'intention de son utilisation. Les noms de variables d'un caractère doivent être évité à l'exception de temporaire Variables "jetables". Noms communs Pour les variables temporaires sont I, J, K, m, et n pour les entiers; c, d et e pour caractères. P> blockquote>
Les variables [locales] doivent être courtes (ce qui signifie qu'ils ne peuvent pas avoir suffisamment de "mots" pour avoir des cas mixtes). p>
toutes les autres variables (celles à l'instance ou au niveau de la classe , les non-locaux) doivent avoir une caisse mixte et commencer par une lettre minuscule (et être vraisemblablement "Wordy" suffisamment pour pouvoir avoir des cas mixtes, comme "linenumber" au lieu de "nombre"); P >
Edit (oublié des constantes). P>
Il y a deux façons de regarder les constantes en Java: P>
- n'importe quoi avec le mot final li>
- n'importe quoi avec une valeur garantie c'est toujours le même li> ol>
donc: p>
xxx pré> ici "variable" est "constante" en une fois à laquelle il est attribué une valeur, elle ne peut pas changer, mais ce n'est pas une constante comme "constante" car "constante" aura toujours une valeur de 5. p>
Je considère # 2 comme étant les seules constantes de Java. p>
Edit # 2 (en réponse à la Commentaire ci-dessous). P>
Je voudrais réaffecter cela comme: P>
sauf pour les variables locales, tous cas, classe et classe vierge finales [et je pourrais aussi spécifier que la finale vide soit sans avoir un valeur de la compilation unique] sont dans cas mixte avec une minuscule en premier Lettre. P> blockQuote>
Vous pouvez regarder http://www.codeguru.com /java/tij/tij0071.shtml pour un peu plus d'une description. P> p>
Cette première phrase n'a toujours aucun sens pour moi, et au moins quelques autres ("sauf" étant un mot clé important). Si cela a du sens pour vous, vous devez l'expliquer mieux pour nous.
Sun a accepté cela comme un bug Décrire la convention pour les variables de dénomination (l'avant-dernière rangée dans la table). Il est clairement faux - classe
Les constantes ne sont pas dans des cas mixtes, car la première ligne de la table montre. Et quelle est cette "sauf pour les variables"
Entreprise? Le texte est supposé em> pour décrire des variables !! p>
Le texte doit être lu: p>
"Toutes les variables de la classe et de classe sont mélangées ..." p>
laissant ainsi supprimer les mots "sauf pour les variables" et "constantes de classe" p>
blockQuote>
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4311597 p>
Impressionnant. Enfin une admission définitive que c'est une erreur, et je ne suis pas devenu fou et oublié comment analyser l'anglais. Eh bien, je peux toujours devenir fou néanmoins.
Eh bien, cela dit une priorité peu priorité, je suppose qu'ils le veulent ... +1 Le bogue jusqu'à ce qu'il soit corrigé, il n'a qu'un vote ...
@Stephen - fait. Il semble que j'ai même eu un compte. Incroyable.
Semble être hors contexte ou mal édité ...
On dirait une faute de frappe.
@GABRIEL: Ce lien cliquait sur le site officiel de Sun Sun. Vous pouvez voir tout le contexte et me dire si cela a du sens.
J'ai regardé Archive.org Ces textes datent jusqu'au 15 février 1998, alors je ne pouvais donc trouver aucune explication. Peut-être voulaient-ils écrire "y compris" et omettre extra "classe" ...