Que signifie vraiment un "logiciel d'opinion"?

24

J'ai vu beaucoup d'autres développeurs de framework / bibliothèque lancer l'expression «nous écrivons des logiciels d'opinion», mais en termes pratiques, qu'est-ce que cela signifie vraiment? Est-ce à dire que l'auteur du «Opinionated Framework X» dit que, parce qu'ils écrivent du code d'une certaine manière, vous devriez écrire le même type de code qu'ils écrivent?

N'est-ce pas un peu prétentieux?

plaureano
la source

Réponses:

28

Le cadre vous impose une certaine façon de travailler. Autrement dit, il y a clairement une bonne façon d'utiliser le framework qui est agréable et facile, et toute autre manière d'utiliser le framework vous rend la vie difficile.

Je ne suis pas un expert de Rails, mais on me dit que c'est une opinion parce que c'est génial pour les trucs CRUD simples, mais quand vous essayez de vous écarter de la "voie Rails", les choses deviennent difficiles. (Ce n'est pas nécessairement une mauvaise chose; je ne parle pas de critique.)

Frank Shearar
la source
4
On dirait une utilisation abusive du mot «d'opinion» dans ce cas. Peut-être que «étroit» ou «ciblé» serait plus approprié. Quoi qu'il en soit, les logiciels ne peuvent pas être littéralement exprimés ... peut-être dans le futur mais pas maintenant:p
Personne
10
Oui. C'est décidément anthropomorphe. Mais alors, le code ne peut pas non plus avoir une odeur, mais cela ne nous empêche pas non plus de parler des odeurs de code!
Frank Shearar du
3
Et dans les deux cas, «opiniâtre» ne signifie pas «il est légèrement plus facile de le faire de cette façon»; cela signifie "Je vais te faire souffrir jusqu'à ce que tu fasses les choses de cette façon". Haskell a une opinion sur la paresse, par exemple.
Frank Shearar
3
Je n'ai jamais vu cela comme anthropomorphe - j'interprète toujours "l'opinionné" comme "incarnant les opinions de l'auteur / de la communauté sur la façon dont les choses devraient être faites".
mikera
2
Je pense que le travail "d'opinion" est également censé être surprenant et énervé. Un peu pour vous faire réfléchir lorsque vous l'utilisez et pour faire réfléchir les développeurs lorsqu'ils le conçoivent. Avoir une opinion signifie ne pas satisfaire tout le monde. Ainsi, tous les arguments "mais qu'en est-il de l'utilisateur Y" disparaissent de la fenêtre. Si vous n'êtes pas utilisateur X, alors utilisez autre chose. Pas nécessairement une mauvaise philosophie.
Josh Petitt
3

Le cadre dit: "Je connais la seule vraie façon de faire cette chose, et je vous combattrai si vous l'essayez d'une autre manière". Dogmatique.

AShelly
la source
0

Vous connaissez cette expression, "il y a plus d'une façon d'écorcher un chat"?

Si une façon est beaucoup plus facile que toutes les autres, c'est une opinion.

Si tous les moyens nécessitent un niveau d'effort à peu près égal, ce n'est pas le cas.

Remarque:

  • être opiniâtre n'est pas nécessairement une décision consciente
  • d'un certain point de vue, les "opinions" peuvent sembler indiscernables de "tout simplement logique"
  • les avis facilitent le débordement de Google / stack car il est plus probable que quelqu'un d'autre aura rencontré les mêmes problèmes et aura une solution qui fonctionne pour vous
333kenshin
la source