Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

Was ist Convention over Configuration (im Kontext von RoR und nicht nur)?

Beitrags-Cover: Was ist Convention over Configuration (im Kontext von RoR und nicht nur)?
InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Konvention vor Konfiguration (CoC) — ist ein Prinzip, das besagt, dass ein System oder Framework bereits Standardkonfigurationen hat, die es dem Entwickler ermöglichen, das Schreiben / Erstellen von Einstellungen selbst zu vermeiden. Dies reduziert erheblich die Anzahl der Entscheidungen, die getroffen werden müssen, und verringert die Zeit für Konfiguration und Entwicklung insgesamt.
Dieser Ansatz gewann erstmals durch das Framework Ruby on Rails an Popularität. Der Grundgedanke von Rails ist, dass die meisten Entwickler ähnliche Aufgaben auf ähnliche Weise erledigen werden. Daher bietet Rails typische Lösungen wie die Strukturierung von Dateien, die Benennung von Modellen, Controllern und Datenbanken. Wenn man sich an die vereinbarten Konventionen hält, konfiguriert das System automatisch viele Aspekte der Anwendung. Zum Beispiel wird ein Modell mit dem Namen Article automatisch der Tabelle articles in der Datenbank zugeordnet, ohne dass zusätzliche Konfiguration erforderlich ist.
Dies befreit den Entwickler von routinemäßiger Konfiguration. Ausnahmen, bei denen Individualisierung erforderlich ist, können leicht separat konfiguriert werden, jedoch kann der Großteil der Aufgaben schneller erledigt werden, indem man auf vordefinierte Konventionen zurückgreift.
Die Befreiung von übermäßiger Konfiguration ermöglicht es, sich auf die Logik der Anwendung zu konzentrieren und nicht auf die Einstellungen. Dies beschleunigt die Entwicklung und verringert die Anzahl der Fehler, da weniger Konfigurationen weniger Stellen bedeuten, an denen ein Fehler auftreten kann. Gleichzeitig kann dieser Ansatz auch außerhalb von Rails gefunden werden. Viele moderne Frameworks und Tools verwenden einen ähnlichen Ansatz — von JavaScript-Bibliotheken bis hin zu Infrastrukturverwaltungssystemen.
CoC ist einer der Schlüsselansätze zur Vereinfachung des Entwicklungsprozesses, bei dem Anwendungen, die den festgelegten Konventionen entsprechen, minimale Konfiguration erfordern und der Entwickler mehr Freiheit hat, Funktionalitäten zu erstellen, anstatt sich mit kleinen Einstellungen zu beschäftigen.

Beispiel CoC (RoR)

Schauen wir uns ein Beispiel für CoC etwas genauer an, um zu verstehen, wo genau wir Zeit sparen und die Wahrscheinlichkeit von Fehlern durch hinzugefügten benutzerdefinierten Code verringern.
coc-scheme.png
  1. Der Entwickler erstellt ein Modell – zum Beispiel das Modell Article in Rails.
  2. Da Konvention vor Konfiguration die Verwendung von Konventionen vorsieht, erwartet Rails automatisch, dass die Tabelle für dieses Modell articles heißt (Standardplural für englische Substantive).
  3. Rails verbindet automatisch dieses Modell mit der Tabelle articles in der Datenbank, ohne dass zusätzliche Einstellungen erforderlich sind. Wenn die Konvention passt, ist keine zusätzliche Konfiguration notwendig.
Dieser Ansatz befreit von überflüssiger Konfiguration, da das System auf typischen Einstellungen basiert.
Einfach ausgedrückt - das Framework hat bereits allgemeine Konfigurationen, die man nicht selbst erfinden muss, sondern einfach den Konventionen folgen sollte, damit alles "out of the box" funktioniert.

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

Was ist SCM (Source Control Management)?
21. Aug, 21:46 Uhr

Was ist SCM (Source Control Management)?

meme code
meme code@memecode
Welche Hierarchie hat das DOM (Document Object Model)?
23. Aug, 09:22 Uhr

Welche Hierarchie hat das DOM (Document Object Model)?

meme code
meme code@memecode
Wie funktioniert das Modell der künstlichen Intelligenz?
15. Sep, 16:42 Uhr

Wie funktioniert das Modell der künstlichen Intelligenz?

meme code
meme code@memecode
Was bedeutet relational (im Kontext von relationalen Datenbanken)?
21. Sep, 08:27 Uhr

Was bedeutet relational (im Kontext von relationalen Datenbanken)?

meme code
meme code@memecode
Was ist ein RDBMS (relationales Datenbankmanagementsystem)?
21. Sep, 08:56 Uhr

Was ist ein RDBMS (relationales Datenbankmanagementsystem)?

meme code
meme code@memecode
Was bedeutet das ACID-Prinzip in der Programmierung?
24. Sep, 20:31 Uhr

Was bedeutet das ACID-Prinzip in der Programmierung?

meme code
meme code@memecode
Rundung von Dezimalzahlen: mathematische Regeln, JavaScript und Ruby
18. Okt, 12:59 Uhr

Rundung von Dezimalzahlen: mathematische Regeln, JavaScript und Ruby

meme code
meme code@memecode
[Fix] Fabrik nicht registriert: "user" (KeyError) (FactoryBot / Rails 7)
07. Dez, 10:46 Uhr

[Fix] Fabrik nicht registriert: "user" (KeyError) (FactoryBot / Rails 7)

meme code
meme code@memecode
Was ist PORO in Ruby?
08. Dez, 12:46 Uhr

Was ist PORO in Ruby?

meme code
meme code@memecode
Was ist der Unterschied zwischen spec_helper.rb und rails_helper.rb in RSpec?
08. Dez, 13:53 Uhr

Was ist der Unterschied zwischen spec_helper.rb und rails_helper.rb in RSpec?

meme code
meme code@memecode
09. Dez, 14:50 Uhr

[Fix] Keine solche Datei oder Verzeichnis @ rb_sysopen - tmp/pids/server.pid

meme code
meme code@memecode
Was man wissen muss, um eine erfolgreiche Karriere als Freelancer im IT-Bereich aufzubauen
23. Dez, 16:03 Uhr

Was man wissen muss, um eine erfolgreiche Karriere als Freelancer im IT-Bereich aufzubauen

meme code
meme code@memecode