Cosa significa veramente "software supponente"?


24

Ho visto molti altri sviluppatori di framework / librerie lanciare la frase "scriviamo software supponente", ma in termini pratici cosa significa veramente? Significa che l'autore di "Opinionated Framework X" afferma che, poiché scrivono il codice in un certo modo, dovresti scrivere lo stesso tipo di codice che scrivono?

Non è un po 'pretenzioso?


Risposte:


28

Il framework impone un certo modo di lavorare su di te. Detto in altro modo, c'è chiaramente un modo giusto di usare il framework che è bello e facile, e qualsiasi altro modo di usare il framework ti rende la vita difficile.

Non sono un esperto di Rails, ma mi viene detto che è supponente perché è fantastico per roba semplice CRUD, ma quando provi a deviare dal "Rails Way" le cose si fanno difficili. (Questa non è necessariamente una brutta cosa; non lo intendo come critica.)


4
Sembra un uso improprio della parola "supponente" in quel caso. Forse "stretto" o "mirato" sarebbe più appropriato. Ad ogni modo, il software non può essere letteralmente supposto ... forse in futuro ma non ora:p
Nessuno

10
Sì. È decisamente antropomorfo. Ma poi, anche il codice non può avere un profumo, ma questo non ci impedisce nemmeno di parlare degli odori di codice!
Frank Shearar,

3
E in entrambi i casi "supponente" non significa "è leggermente più facile farlo in questo modo"; significa "Ti farò soffrire finché non farai le cose in questo modo". Haskell ha un'opinione sull'essere pigri, per esempio.
Frank Shearar,

3
Non l'ho mai visto come antropomorfo - interpreto sempre "supponente" come "incarnare le opinioni dell'autore / della comunità su come dovrebbero essere fatte le cose".
Mikera,

2
Penso che anche il lavoro "supponente" debba essere sorprendente e spigoloso. Un po 'per farti pensare quando lo usi e per far pensare gli sviluppatori quando lo progettano. Avere un'opinione significa non soddisfare tutti. Quindi tutti gli argomenti "ma per quanto riguarda l'utente Y" escono dalla finestra. Se non sei l'utente X, usa qualcos'altro. Non necessariamente una cattiva filosofia.
Josh Petitt,

3

Il framework dice "Conosco l'unico vero modo per fare questa cosa, e ti combatterò se lo provi in ​​un altro modo". Supponente.


0

Conosci quell'espressione "c'è più di un modo per scuoiare un gatto"?

Se un modo è significativamente più semplice di tutti gli altri, è supponente.

Se tutti i modi richiedono un livello di sforzo approssimativamente uguale, non è stato concepito.

Nota:

  • essere supponente non è necessariamente una decisione consapevole
  • da un certo punto di vista, le "opinioni" possono sembrare indistinguibili da "ha senso"
  • le opinioni rendono più facile l'overflow di google / stack poiché è più probabile che qualcun altro abbia riscontrato gli stessi problemi e abbia una soluzione adatta a te
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.