Ich programmiere gerade eine Anwendung für Android. Was ich jetzt herausgefunden habe, ist, dass Sie keine Ressourcenobjekte, beispielsweise ein Bild, in den Zeichenordner legen und es wie "myTestImage.jpg" benennen können. Dies führt zu einem Compilerfehler, da die Syntax für Kamelfälle nicht zulässig ist. Sie müssten sie daher in "my_test_image.jpg" umbenennen.
Aber was ist mit IDs, die Sie in der XML-Datei definieren? Angenommen, Sie haben die folgende Definition
<TextView android:id="@+id/myTextViewFirstname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Firstname" />
Dies ist eine gültige Definition, die auf meinem Android-Emulator kompiliert und einwandfrei funktioniert, obwohl ich - wie Sie sehen - die ID in der Kamel-Fall-Syntax spezifiziere.
Jetzt verwenden die Android-Beispiele immer Kleinbuchstaben und Unterstriche. Ist dies nur eine Namenskonvention zur Verwendung von Kleinbuchstaben mit Unterstrich für die IDs oder kann dies zu Problemen auf dem realen Gerät führen?
Vielen Dank
AppBaseTheme
undAppTheme
.Wenn Sie sich
android.R.id.*
Felder ansehen , werden Sie feststellen, dass sich alle in einem Kamelkoffer befinden. Also, wenn die Android-IDs in Kamel-Fall geschrieben sind, müssen wir diese Konvention befolgen :)quelle
widget_frame
Feld [ developer.android.com/reference/android/R.id.html#widget_frame] auch inandroid.R.id.*
Feldern. in diesem Feld Google verwenden Unterstrich nicht Kamel-Fall Also Ihre Schlussfolgerung über Kamel-Fall-Konvention ist richtig, wählen Sie für ID-Konvention kann falsch seinIch finde es gut, wenn wir alle Kleinbuchstaben mit Unterstrichen verwenden.
Schau dir das an (zusätzlich zu dem, was Daniel geantwortet hatte)
Nach meiner eigenen Erfahrung neige ich dazu, ein wenig verwirrt zu sein von der Kamelfallkonvention in XML, denn wenn Sie sie mit Java verknüpfen, das auch Kamelfall verwendet (weil es der Standard ist), sieht es aus wie ein Doppelgänger.
quelle
Ich denke, wenn wir die Unterstrichkonvention für ID in XML-Dateien und die Kamelfallkonvention für Klassenfelder verwenden, wird dies jedem Entwickler eine bessere Sichtbarkeit geben, um zwischen XML-IDs und Klassenfeldern zu unterscheiden.
quelle
Wenn Sie sich einige Beispiele für Googles-Apps ansehen, wie z.
https://github.com/google/iosched
Sie verwenden Unterstriche. Also ... vielleicht sollten wir das so machen?
quelle
Erstens gibt es keinen bestimmten Standard, um zu definieren, welcher besser ist, aber ich habe meine eigene Vorstellung davon. Meine Idee ist vernünftig, XML-ID und Java-Variable mit der Kamel-Fall-Konvention im exakt gleichen Namen zu halten.
Es ist einfach, die Variable zu erreichen, indem Sie sowohl auf der XML- als auch auf der Java-Seite nach dem Projekt suchen.
Definition der butterKnife-Bibliothek
@BindView (R.id.infoTextView) TextViewFont infoTextView;
Es ist richtiger, auf diese Weise zu bleiben.
quelle
XML-Dateinamen (die im Zeichenordner verwendet werden) müssen in Kleinbuchstaben durch den Unterstrich _ getrennt sein, da großgeschriebene Dateinamen in XML nicht unterstützt werden.
quelle
Wenn der Android-Compiler wirklich das tut, was Sie sagen, um den Fall von Kamelen einzuschränken (was ziemlich seltsam erscheint), sollten Sie sich an die festgelegten Konventionen halten.
Gegen den Strich zu gehen, wird nur unnötige Verwirrung stiften. Halten Sie die Dinge an allen Orten konsistent, wo dies möglich ist.
quelle