O que realmente significa 'software opinativo'?

24

Eu já vi muitos outros desenvolvedores de frameworks / bibliotecas lançando a frase 'nós escrevemos software opinativo', mas em termos práticos, o que isso realmente significa? Isso significa que o autor do 'Opinionated Framework X' diz que, por escrever código de uma certa maneira, você deve escrever o mesmo tipo de código que ele escreve?

Isso não é um pouco pretensioso?

plaureano
fonte

Respostas:

28

A estrutura impõe uma certa maneira de trabalhar com você. Em outras palavras, há claramente uma maneira correta de usar a estrutura que é agradável e fácil, e qualquer outra maneira de usar a estrutura dificulta sua vida.

Não sou especialista em Rails, mas me disseram que é opinativo porque é incrível para coisas simples de CRUD, mas quando você tenta se desviar do "caminho do Rails" as coisas ficam difíceis. (Isso não é necessariamente uma coisa ruim; não quero dizer isso como crítica.)

Frank Shearar
fonte
4
Parece um uso indevido da palavra "opinativo" nesse caso. Talvez "restrito" ou "direcionado" seja mais adequado. De qualquer maneira, o software pode não ser literalmente opinativo ... talvez no futuro, mas não agora:p
Ninguém
10
Sim. É decididamente antropomórfico. Mas então, o código também não pode ter um cheiro, mas isso também não nos impede de falar sobre cheiros de código!
Frank Shearar
3
E em ambos os casos "opinativo" não significa "é um pouco mais fácil fazê-lo dessa maneira"; significa "Eu farei você sofrer até que faça as coisas dessa maneira". Haskell tem uma opinião sobre ser preguiçoso, por exemplo.
precisa saber é o seguinte
3
Eu nunca vi isso como antropomórfico - eu sempre interpreto "opinativo" como "incorporando as opiniões do autor / comunidade sobre como as coisas devem ser feitas".
Mikera 12/09/12
2
Eu acho que o trabalho "opinativo" também deve ser surpreendente e nervoso. Um pouco para fazer você pensar quando o usa e para os desenvolvedores pensarem quando o projetam. Ter uma opinião significa não satisfazer a todos. Portanto, todos os argumentos "mas e o usuário Y" saem pela janela. Se você não é o usuário X, use outra coisa. Não necessariamente uma filosofia ruim.
Josh Petitt
3

A estrutura está dizendo "Eu conheço a única maneira verdadeira de fazer isso, e lutarei com você se você tentar de outra maneira". Opinião.

AShelly
fonte
0

Você conhece a expressão "há mais de uma maneira de esfolar um gato"?

Se uma maneira é significativamente mais fácil do que todas as outras, é opinativo.

Se todas as formas exigirem um nível de esforço aproximadamente igual, isso é inédito.

Nota:

  • ser opinativo não é necessariamente uma decisão consciente
  • de um certo ponto de vista, "opiniões" podem parecer indistinguíveis de "apenas faz sentido"
  • as opiniões facilitam o estouro do google / stack, pois é mais provável que alguém tenha encontrado os mesmos problemas e tenha uma solução que funcione para você
333kenshin
fonte