Warum beginnen die meisten Felder (Klassenmitglieder) im Android-Tutorial mit `m`?


Answers

Viele Codierungsrichtlinien verwenden m für "Mitglieder" einer Klasse. Wenn Sie also programmieren, können Sie den Unterschied zwischen lokalen und Mitgliedsvariablen sehen.

Question

Ich weiß über Camel Case-Regeln, aber ich bin verwirrt mit dieser m-Regel. Für was steht das? Ich bin ein PHP-Entwickler. "Wir" verwenden die ersten Buchstaben der Variablen als Angabe des Typs, wie "b" für boolesch, "i" für ganze Zahl und so weiter.

Ist 'm' ein Java-Ding? Steht es für Mobile? gemischt?




Um zu beweisen, dass Sie diese Konvention für die Benennung von Variablen in Ihrem Code definitiv nicht behandeln sollten, übergebe ich einen Screenshot von einem übergeordneten Android Studio .

Suchen Sie nach Variablen innerhalb eines Objekts, die speziell sortiert sind, um m-Variablen niedriger als Ihre nativen Variablen zu setzen . Indem Sie sie in Ihrem Code mit dem Präfix "m" benennen, verstecken Sie sie in einem Haufen von sich selbst .




Der einzige Vorteil, den ich an diesem Code-Stil gefunden habe, ist, wenn ich während einer automatischen Vervollständigung eines Verweises auf eine Variable weiß, dass ich "m" eingeben kann, um nur die Elementvariablen zu sehen.




Ich denke, es ist sehr individuell, welche Code-Konventionen verwendet werden. Ich bevorzuge es, meine Variablen mit den folgenden Präfixen zu benennen:

  • m - Methodenvariablen
  • c - Klassenvariablen
  • p - Parametervariablen

Aber ich denke, dass jeder Programmierer seinen eigenen Stil hat.




Als ein Element der Lesbarkeit sollte nicht mehr verwendet werden (m für Elementvariablen, s für statische Felder), wenn Sie eine moderne IDE (Android Studio) verwenden. Android Studio kann zwischen denen unterscheiden, ohne m oder s hinzuzufügen.




Wenn es sich um Elementvariablen in Klassen handelt, bedeutet "m" "Mitglied". Viele Java-Programmierer tun das, obwohl sie mit modernen IDEs nicht benötigt werden, da Sie Highlighter, Mauszeiger über Tooltips usw. haben.