Normalerweise definiere ich beim Erstellen neuer globaler Variablen nicht den Zugriffsmodifikator. Gemäß Java wird der Standard-Zugriffsmodifikator für Eigenschaften übernommen. Wenn ich außerhalb des Standardbereichs auf diese Variable zugreifen muss, ändere ich ihren Zugriffsmodifikator, ansonsten lasse ich sie unverändert. Meine Frage lautet also: " Mache ich es richtig? Ist es normal, Standardzugriffsvariablen zu haben? Oder sollte ich für sie privat / öffentlich verwenden? Ist es eine gute Codierungspraxis, keine Zugriffsmodifikatoren zu verwenden? "
java
coding-style
access-modifiers
Harry Joy
quelle
quelle
static
in .NET verhalten, beeinträchtigen sie auch die Testbarkeit von Einheiten. Ein Gerät, das es verwendet, ist IMMER von ihnen abhängig und es gibt keine Möglichkeit, sie zu fälschen, um das zu testende Gerät zu isolieren.Einige allgemeine Programmierprinzipien hier:
...aber auch:
Ich bin kein Java-Experte, aber die allgemeine Faustregel sollte lauten: Wenn das, was passiert, für jemanden offensichtlich ist, der mit der Sprache vertraut ist, ohne explizit zu sein, verwenden Sie das implizite Verhalten. Wenn dies jedoch jemanden auf die falsche Spur bringen könnte, dann sei auf jeden Fall explizit.
quelle
Java hat keine automatischen Eigenschaften, daher sollten alle Klassenmitglieder im Allgemeinen privat sein und bei Bedarf Methoden zum Abrufen / Festlegen für die öffentliche Verwendung verwenden.
Laut der Quelle (Oracle Java Docs) ist dies der empfohlene Ansatz.
"Verwenden Sie die restriktivste Zugriffsebene, die für ein bestimmtes Mitglied sinnvoll ist. Verwenden Sie privat, es sei denn, Sie haben einen guten Grund, dies nicht zu tun. Vermeiden Sie öffentliche Felder mit Ausnahme von Konstanten. Öffentliche Felder verknüpfen Sie in der Regel mit einer bestimmten Implementierung und schränken Ihre Flexibilität bei der Änderung Ihrer ein Code. "
http://download.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
quelle
public
auch)?