0Pricing
Ruby Academy · Lektion

Den Code schreiben

Ein Gem organisieren

Den Code schreiben ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ruby Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Den Code eines Gems organisieren

Guter Gem-Code ist leicht zu lesen, einfach einzubinden und mit einem Namespace versehen, sodass es nie zu Konflikten mit anderen Bibliotheken kommt. Das wichtigste Werkzeug dafür ist ein Modul der obersten Ebene, das alles umschließt.

  • Ein Namespace-Modul pro Gem.
  • Eine Datei pro Klasse, entsprechend dem Namespace.
  • Eine kleine öffentliche Schnittstelle.

Das Namespace-Modul

Umschließen Sie alle Klassen mit einem nach Ihrem Gem benannten Modul. Dadurch kollidiert Ihr Client nicht mit dem Client einer anderen Bibliothek.

module Greeter
  class Hello
    def message
      "Hi there"
    end
  end
end

puts Greeter::Hello.new.message

Konvention für Dateinamen

Ruby-Tools erwarten, dass Dateipfade zu den Namen der Konstanten passen:

  • Greeter befindet sich in lib/greeter.rb.
  • Greeter::Hello befindet sich in lib/greeter/hello.rb.

Durch diese Konvention können Autoloader Dateien automatisch finden.

Interne Dateien einbinden

Die Einstiegsdatei verbindet alles mit require_relative. Jede Klassendatei wird einmal eingebunden, sodass die gesamte Bibliothek mit einem einzigen require 'greeter' geladen wird.

Eine klare öffentliche API

Stellen Sie eine kleine Auswahl an Methoden bereit, die Benutzer tatsächlich aufrufen. Ein verbreitetes Muster sind Komfortmethoden auf Modulebene, die Aufrufe an interne Klassen weiterleiten.

module Greeter
  def self.say(name)
    "Hello, " + name + "!"
  end
end

puts Greeter.say("Ada")

Interna verbergen

Markieren Sie Hilfsmethoden mit private, damit sie nicht Teil Ihres öffentlichen Vertrags sind. Alles Öffentliche ist ein Versprechen an die Benutzer. Halten Sie diese Schnittstelle daher bewusst klein.

class Calculator
  def total(a, b)
    add(a, b)
  end

  private

  def add(x, y)
    x + y
  end
end

puts Calculator.new.total(2, 3)

Konfigurationsmuster

Viele Gems bieten einen configure-Block an, mit dem Benutzer Optionen einmalig festlegen können. Eine einfache Variante speichert die Einstellungen in einem Konfigurationsobjekt.

module App
  class Config
    attr_accessor :api_key
  end

  def self.config
    @config ||= Config.new
  end

  def self.configure
    yield(config)
  end
end

App.configure { |c| c.api_key = "secret" }
puts App.config.api_key

Benutzerdefinierte Fehler

Definieren Sie gem-spezifische Fehlerklassen unter Ihrem Namespace, damit Benutzer genau Ihre Fehler abfangen können. Erben Sie von StandardError.

module Payment
  class Error < StandardError; end
  class DeclinedError < Error; end
end

begin
  raise Payment::DeclinedError, "card declined"
rescue Payment::Error => e
  puts "Handled: " + e.message
end

Monkey Patching vermeiden

Vermeiden Sie es, Kernklassen wie String global zu verändern. Das führt in anderem Code zu unerwarteten Effekten. Wenn Sie eine Erweiterung benötigen, verwenden Sie Refinements, damit die Änderung auf einen bestimmten Gültigkeitsbereich beschränkt bleibt, oder ergänzen Sie Hilfsmethoden in Ihren eigenen Klassen.

Abhängigkeiten sparsam einsetzen

Jede Laufzeitabhängigkeit, die Sie hinzufügen, wird zu einer Abhängigkeit für alle Ihre Benutzer. Bevorzugen Sie, wenn sinnvoll, die Standardbibliothek und fügen Sie ein Gem nur hinzu, wenn es seinen Aufwand rechtfertigt.

Weniger Abhängigkeiten bedeuten weniger Versionskonflikte und schnellere Installationen.

Die öffentliche API dokumentieren

Fügen Sie Kommentare hinzu, die die Argumente und den Rückgabewert jeder öffentlichen Methode beschreiben. Tools wie YARD wandeln diese Kommentare in durchsuchbare Dokumentation um. Eine gute README-Datei mit Beispielen entscheidet oft darüber, ob Benutzer Ihr Gem einsetzen.

Schnelltest

Testen Sie Ihr Verständnis der Organisation von Gem-Code.

Zusammenfassung: Den Code schreiben

Sie haben gelernt, wie Sie die Interna eines Gems organisieren:

  • Umschließen Sie alles mit einem Namespace-Modul.
  • Passen Sie Dateipfade an die Namen der Konstanten an.
  • Halten Sie die öffentliche API klein und markieren Sie Hilfsmethoden mit private.
  • Definieren Sie benutzerdefinierte Fehlerklassen und vermeiden Sie globales Monkey Patching.
  • Halten Sie Abhängigkeiten sparsam und dokumentieren Sie die API.

Als Nächstes fügen wir Tests und Versionierung hinzu.

Häufig gestellte Fragen

Ist die Lektion „Den Code schreiben“ kostenlos?

Ja — der vollständige Text von „Den Code schreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ruby Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Den Code schreiben“?

Ein Gem organisieren Du übst Ruby Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ruby Academy zu starten?

Keine Vorkenntnisse erforderlich. Ruby Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Den Code schreiben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ruby Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ruby Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Gem-Struktur
  2. Den Code schreiben
  3. Testen und Versionieren
  4. Auf RubyGems veröffentlichen
← Zurück zu Ruby Academy