Difference between revisions of "Namenskonventionen (Softwareentwicklung)"

From VGKB
Jump to navigation Jump to search
(Neu angelegt)
 
(No difference)

Latest revision as of 16:41, 24 December 2019

In der Softwareentwicklung bzw. im Software Engineering sind Namenskonventionen das A und O, um eine einheitliche Struktur zu ermöglichen.

Dies ist eine Sammlung von Ideen und vor allem Meinungen, um eine eigene Namenskonvention zu finden. Es gibt keine Patentlösung, ich versuche nur, verschiedene Denkweisen zu beleuchten. Habe ich etwas vergessen? Kontaktiere mich gerne!

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton[1]

Q & A

Relationsnamen: Plural oder Singular?

(gefunden auf Stack Overflow)

Hier sind die Lager gespalten, hier sagen viele Singular[2] und viele Plural[3]. Ich selber nutze grötenteils aber Singular.


Package Namen: Plural oder Singular?

(gefunden auf Stack Exchange Softeware Engineering)

Use the plural for packages with homogeneous contents and the singular for packages with heterogeneous contents.[4]

Homogener Inhalt soll mit Plural benannt werden, heterogener mit Singular. Das wirkt erst einmal völlig konträr zu #Relationsnamen: Plural oder Singular?, macht aber Sinn, wenn man sich ein Beispiel veranschaulicht:

  • Tasks impliziert, dass sich im Package Klassen / Module / ... vom Typ Task befinden (→ homogen, Typ)
  • Task impliziert, dass sich im Package Klassen / Module / ... befinden, die etwas mit Task zu tun haben (→ heterogen, Kategorie)

Weiterhin gilt: intuitiv lässt sich

  • ein TaskHandler, TaskBuilder, ... in Task verfügen und
  • eine CleanUpTask, RefreshTask, RebuildTask, ... eher in Tasks vermuten.

Ähnlichkeiten gibt es beim Thema category vs. type.

Einzelnachweise

  1. Cite source, Discussion
  2. Community Wiki. Stack Overflow. Abgerufen am 2019-12-24.
  3. Community Wiki. Stack Overflow. Abgerufen am 2019-12-24.
  4. Matthew Rodatus: Should package names be singular or plural?. Stack Exchange Software Engineering. Bearbeitet von Sergey Brunov. Abgerufen am 2019-12-24.