web-dev-qa-db-fra.com

Simplicité vs vues conditionnelles

Je travaille sur une plateforme SAAS. Tous les utilisateurs doivent se connecter, donc l'ID utilisateur, l'emplacement, l'affiliation, etc. sont presque toujours connus. La plate-forme possède également des composants de jeu substantiels, enregistrant les progrès et les réalisations des utilisateurs.

L'un des objectifs de la plate-forme est de fournir une expérience sans friction à l'utilisateur. La plupart du temps, cela est accompli en fournissant des vues conditionnelles des éléments/modules de page en fonction de l'état de l'utilisateur. Indiquer ici inclurait l'affiliation, le lieu, les progrès et le temps.

Une certaine utilisation des vues conditionnelles est bonne et souhaitable, mais je crains que nous compensions parfois une interface utilisateur boueuse avec des vues spécifiques (utilisateur). En outre, une logique assez complexe s’empile dans le back-end pour faire fonctionner les vues conditionnelles.

Existe-t-il une règle empirique pour déterminer à quel point la conditionnalité est excessive? Autrement dit, la complexité importe-t-elle si l'utilisateur ne la voit pas?

2
RobC

La seule "règle d'or" que je peux voir appliquer est la règle 80/20 selon laquelle je vis. En général, cela signifie que si vous avez une liste exhaustive de tous les cas d'utilisation, 20% d'entre eux représenteront 80% de l'activité sur le système.

Par conséquent, j'essaie de concevoir pour 80% de tous les utilisateurs, couvrant ainsi initialement 20% de tous les cas d'utilisation. Dans votre cas, il semble que vous ayez dépassé les 20% initiaux, donc je dirais d'essayer de clouer vos cas d'utilisation principaux sur la tête, puis de réévaluer la granularité de vos vues conditionnelles. Si vous pensez que la granularité actuelle cause des problèmes de maintenabilité ou n'apporte pas suffisamment de valeur pour le coût, il peut être temps de sauvegarder un peu.

En théorie, la complexité du code ne devrait pas avoir d'importance tant qu'il est rentable et apporte une valeur ajoutée à votre solution.

2
GotDibbs