Je programme actuellement une application pour Android. Maintenant, ce que j'ai découvert, c'est que vous ne pouvez pas placer des objets de ressources, par exemple une image dans le dossier pouvant être dessiné et le nommer comme "myTestImage.jpg". Cela vous donnera une erreur de compilation car la syntaxe de la casse camel n'est pas autorisée, vous devrez donc la renommer comme "my_test_image.jpg".
Mais qu'en est-il des identifiants que vous définissez dans le fichier XML. Disons que vous avez la définition suivante
<TextView android:id="@+id/myTextViewFirstname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Firstname" />
Ceci est une définition valide, compile et fonctionne très bien sur mon émulateur Android bien que - comme vous le voyez - je spécifie l'id dans la syntaxe de cas de camel.
Désormais, les exemples Android utilisent toujours des minuscules et des traits de soulignement. Est-ce juste une convention de dénomination pour utiliser des minuscules avec un trait de soulignement pour les identifiants ou cela peut-il causer des problèmes sur le périphérique réel?
THX
AppBaseTheme
etAppTheme
.Si vous regardez les
android.R.id.*
champs, vous remarquerez qu'ils sont tous en cas de chameau. Donc, si les identifiants Android sont écrits en camel-case, je suppose que nous devons suivre cette convention :)la source
widget_frame
champ [ developer.android.com/reference/android/R.id.html#widget_frame] également dans lesandroid.R.id.*
champs. dans ce domaine utiliser Google ne chameau souligner le cas donc votre conclusion au sujet de la convention de chameau cas est bon pour choisir convention ID peut être fauxJe pense que c'est bien si nous utilisons toutes les petites lettres avec des traits de soulignement.
Regarde juste ça
dans ma propre expérience, j'ai tendance à être un peu confus avec la convention de cas de chameau en xml parce que quand vous le liez à Java qui utilise également le cas de chameau (parce que c'est la norme), cela ressemble à un doppleganger.
la source
Je pense que si nous utilisons la convention de soulignement pour l'identifiant dans les fichiers xml et la convention de cas de camel pour les champs de classe, cela donnera une meilleure visibilité à chaque développeur pour faire la distinction entre les identifiants xml et les champs de classe.
la source
Si vous regardez certains exemples d'applications Google, tels que:
https://github.com/google/iosched
Ils utilisent des traits de soulignement. Alors ... c'est peut-être ainsi que nous devrions le faire?
la source
Tout d'abord, il n'y a pas de norme certaine pour définir laquelle est la plus appropriée, mais j'ai ma propre idée à ce sujet. Mon idée est raisonnable de garder l'identifiant XML et la variable java exactement dans le même nom avec la convention camel-case.
Il est facile d'accéder à la variable en recherchant le projet à la fois côté XML et côté Java.
ButterKnife définition de la bibliothèque
@BindView (R.id.infoTextView) TextViewFont infoTextView;
Il est plus convenable de continuer ainsi.
la source
Les noms de fichiers xml (qui sont utilisés dans le dossier dessiné) doivent être tous en minuscules séparés par le caractère de soulignement _ car les noms de fichiers en majuscules ne sont pas pris en charge dans xml.
la source
Si le compilateur d'Android fait vraiment ce que vous dites en limitant le cas du chameau (ce qui semble plutôt étrange), vous devez vous en tenir aux conventions établies.
Aller à contre-courant ne causera qu'une confusion inutile. Gardez les choses cohérentes partout où cela est possible.
la source