Heute bin ich zusammen mit einem Kollegen mal unsere internen Checkstyle Regeln durchgegangen um die Sinnhaftigkeit jeder einzelnen gegebenenfalls zur Diskussion für alle Entwickler freizugeben. Dabei sind wir unter anderen auf folgende interessante Regel gestoßen:
Eigenschaft X soll private sein„.
Mit dieser Regel sollen alle protected und public Eigenschaften (=Felder, Properties, Klassenvariablen) vermieden werden. Meine Kollege meinte sogar, dass selbst auf private Eigenschaften am besten nur über getter und setter zugegriffen werden sollte – also aus der eigenen Klasse heraus. Ausgenommen sind nur Konstanten.

Die Vorteile dieser „Privatisierung“:

  • die Sichtbarkeit kann genauer eingestellt werden
  • fehlerhafte Werte können abgefangen werden (auf default/fallback Werte zurückgreifen)
  • es ist möglich, Objekte erst beim Aufruf zu instanzieren (Lazy Loading)
  • AOP kann eingesetzt werden (=> Sicherheit, Caching, Tracking/Logging)
Advertisements