Was ist das m Präfix?
m steht für Member-Variable oder Datenelement. Verwenden Sie das m Präfix für nicht öffentliche und nicht statische Felder.
Wann verwenden?
private String mCityName;
private float mTemperature;
Wann nicht verwenden?
public static int mFirstNumber;
public static final String mDATABASE_NAME;
Was ich mache?
Persönlich verwende ich es nicht. Es macht den Code komplizierter und verwirrt die Lesbarkeit. Wenn Sie immer noch Notepad zum Codieren verwenden, habe ich keine Worte, aber modernen IDEs sind in der Lage, Member- und lokale Variablen oder andere Elemente hervorzuheben und zu kolorieren.
Schlussfolgerung
Verwenden? "Ja" oder "Nein" ist Ihre persönliche Entscheidung.
2 Stimmen
Mitglied, natürlich, macht absolut Sinn :D Danke!
296 Stimmen
Dieses Präfix macht nichts anderes als die Lesbarkeit durcheinander zu bringen ...
11 Stimmen
Die Angabe des Typs als Präfix ist schlecht und wird als ungarische Notation bezeichnet. Siehe thc.org/root/phun/unmaintain.html und kernel.org/doc/Documentation/CodingStyle
12 Stimmen
Weil sie nicht viel Wissen über den Java-Code-Stil hatten, um anzufangen
1 Stimmen
@pambuk ich bin verwirrt, im Android-Code-Style-Guide steht, dass öffentliche Felder nicht mit diesem Zeichen vorangestellt werden sollen. Sind öffentliche, nicht statische Felder auch Mitgliedsfelder?
12 Stimmen
In meiner Meinung, wenn Sie Schwierigkeiten haben, lokale Variablen von Member-Variablen zu unterscheiden, haben Sie viel größere Probleme als die Einhaltung einer Code-Konvention. Hier ist die Konvention, die ich manchmal verwende: Lange Lebensdauer, langer Name. Kurze Lebensdauer, kurzer Name. Bisher noch nicht verwirrt gewesen.
1 Stimmen
Wenn Sie Schwierigkeiten haben, lokale Variablen von Member-Variablen zu unterscheiden, haben Sie ein völlig anderes Problem.
20 Stimmen
Ein wirklich dummer Präfix. Verwenden Sie Ihr IDE, um Setter/Getter zu generieren und Sie landen bei getmName() und setmName()! Auch Tools wie Lombok zur Generierung von Settern, Gettern, Konstruktoren usw. werden den m-Präfix generieren. Meiner Meinung nach fügt das m-Präfix keinen Wert hinzu und sollte aus der Namenskonvention entfernt werden.
1 Stimmen
@userM1433372 glaub mir, der Android-IDE ist intelligent genug, um normale Getter/Setter für solche Variablen und mehr zu erstellen. Also ist nur dein Kommentar hier "dumm". Hast du es überhaupt versucht?
0 Stimmen
@user924 Entschuldigung, nur mit IntelliJ/Android Studio getestet und IntelliJ generiert Setter und Getter wie getmVariable() und setmVariable(). Haben Sie es selbst getestet oder verwenden Sie einen anderen Editor?
1 Stimmen
@userM1433372 Ich verwende Android Studio (die einzige offizielle IDE für die Entwicklung von Android), hast du als Nächstes konfiguriert - Einstellungen/Editor/Code Style/Java/Code Generation? postimg.org/image/coxz23utn. IntelliJ sollte das auch haben.
0 Stimmen
@userM1433372 auch hier stackoverflow.com/a/49453184/7767664