Skip to content

Review der Beispiele #8

Description

@schmijos

Danke fürs Teilen der Beispiele!
Hier mein Review:

  1. Das Beispiel ist zwar ok, aber schon etwas yagni. Ich kann ja auch Strings in der Datenbank haben. Der User-Case hier müsste sein: ich muss mit einem Datenbank-Schema ausserhalb meiner Kontrolle arbeiten, z.B. in einer Legacy-Applikation.
  2. Mentionable tradeoff fehlt: sorting happens in Ruby now. Mostly ok, but not always probably.
  3. Das ist mein Lieblingsbeispiel. Algorithmen bleiben in Ruby und nahe bei den Daten. Es fehlt m.E. ein Test-Recipe das zeigt, wie ich meine Rechnung teste.
  4. Hier wäre ev. wertvoll zu zeigen, welche bekannten statemachine gems es gibt und was hier anders ist.
  5. Damit fühle ich mich immer noch ein bisschen unwohl. Es ist zwar irgendwie logisch, dass ich aus einem Set eine Modell-Instanz ableiten können sollte, aber creepy ist es trotzdem. z.B. weiter gedacht: könnte ein AnchorModel eine cancancan-Ability mit Permission-Matrix werden? (siehe https://github.com/CanCanCommunity/cancancan/blob/develop/docs/role_based_authorization.md#many-roles-per-user). Diese Bitmasken stinken.
  6. Mag ich. Daran habe ich noch nie gedacht.
  7. Ist das Feature-Flag-Beispiel gut genug um Dynamik zu zeigen? Wie wäre es stattdessen ein Multi-Tenant-Setup zu zeigen? z.B. habe ich ein White-Label-Portal, das die Layouts prefixed. Oder vielleicht scann ich den Plugins-Ordner bevor ich den Nutzer Plugins aktivieren lasse?
  8. Das ist auch spannend. Schön ausformuliert. Mit der Factory komplementär zu https://github.com/gregorw/discriminable
  9. Das Beispiel finde ich etwas gesucht. Gibt es da einen praktischeren Fall? Weiter wäre fürs Verständnis gut, den Output von listing.features zu zeigen.
  10. Hier bin ich nicht ganz sicher, ob ich es recht verstehe: versuchst du zu zeigen, dass das Constant-Tree-Beispiel auch zur Laufzeit funktioniert? Ist das ein Pattern, das 4, 6 und 7 zeigt? Vielleicht wäre ein Mermaid-Graph hilfreich.

Generell denke ich, zeigst du mit den Beispielen eine Thematik, die mich momentan stark beschäftigt: wie isoliere ich Änderungen am Code. Das AnchorModel gibt einem viele Optionen dafür.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions