it-swarm.com.de

Einfachheit vs. bedingte Ansichten

Ich arbeite an einer SAAS-Plattform. Alle Benutzer müssen sich anmelden, sodass Benutzer-ID, Standort, Zugehörigkeit usw. fast immer bekannt sind. Die Plattform verfügt auch über umfangreiche Spielkomponenten, die den Fortschritt und die Erfolge der Benutzer aufzeichnen.

Eines der Ziele der Plattform ist es, dem Benutzer ein reibungsloses Erlebnis zu bieten. In den meisten Fällen wird dies erreicht, indem bedingte Ansichten von Seitenelementen/-modulen abhängig vom Status des Benutzers bereitgestellt werden. Der Zustand hier würde Zugehörigkeit, Ort, Fortschritt und Zeit einschließen.

Die Verwendung von bedingten Ansichten ist gut und wünschenswert, aber ich mache mir Sorgen, dass wir manchmal die schlammige Benutzeroberfläche durch benutzerspezifische (bedingte) Ansichten kompensieren. Außerdem stapelt sich im Back-End eine ziemlich komplexe Logik, damit die bedingten Ansichten funktionieren.

Gibt es eine Faustregel dafür, wie viel Konditionalität zu viel ist? Anders ausgedrückt: Ist Komplexität wichtig, wenn der Benutzer sie nicht sieht?

2
RobC

Die einzige "Faustregel", die ich anwenden kann, ist die 80/20-Regel, nach der ich lebe. Im Allgemeinen bedeutet dies, dass 20% von ihnen 80% der Aktivitäten auf dem System ausmachen, wenn Sie eine vollständige Liste aller Anwendungsfälle haben.

Daher versuche ich, für 80% aller Benutzer zu entwerfen, wodurch zunächst 20% aller Anwendungsfälle abgedeckt werden. In Ihrem Fall klingt es so, als würden Sie diese anfänglichen 20% überschreiten. Ich würde also sagen, dass Sie versuchen sollten, Ihre Kernanwendungsfälle zuerst auf den Kopf zu nageln und dann die Granularität Ihrer bedingten Ansichten neu zu bewerten. Wenn Sie der Meinung sind, dass die aktuelle Granularität Probleme mit der Wartbarkeit verursacht oder nicht genügend Wert für die Kosten bietet, ist es möglicherweise an der Zeit, ein wenig zu sichern.

Theoretisch sollte die Komplexität des Codes keine Rolle spielen, solange er kostengünstig ist und einen Mehrwert für Ihre Lösung bietet.

2
GotDibbs