Il KISS incoraggia strumenti e framework che espongono strati complessi di astrazione che perdono?

4

Strumenti e framework rendono semplici le attività complesse. Questo sembra qualcosa che sarebbe supportato da KISS (mantenerlo semplicemente stupido). Strumenti e framework hanno anche il potenziale per introdurre strati di astrazione che perdono, in cui la complessità dei problemi è molto più problematica di qualsiasi altra cosa tu abbia scritto. Non sono interessato all'efficacia degli strumenti e delle strutture, dal momento che è più un parere religioso e può essere tenuto privato. Quello che mi interessa è se gli strumenti e le strutture siano favoriti da KISS. Ovviamente alcuni strati di astrazione sono accettati da tutti, ma ci sono molti esempi di casi limite in cui è più difficile da dire. Ad esempio:

Per un servizio web in .Net, KISS preferirebbe un servizio WCF di base (molto facile da creare, abbastanza difficile capire / vedere cosa sta effettivamente succedendo sotto il cofano) o un servizio REST di base (più impegnativo da creare; per capire / vedere cosa sta effettivamente succedendo sotto il cofano?

Nota: ci sono molti altri esempi di questo, quindi sentiti libero di suggerire quelli più appropriati.

    
posta Morgan Herlocker 10.05.2011 - 21:07
fonte

2 risposte

1

Dipende dai tuoi usi. Posso assicurarti che se dovessi gettare le basi per un'applicazione su larga scala, web o altro, dovrei assolutamente cercare framework e librerie che possano rendere più facile il mio lavoro in modo affidabile. Se sto costruendo una piattaforma web, questo includerebbe cose come MVC e framework di registrazione. La ragione di ciò si riduce fondamentalmente alla quantità di attenzione ricevuta da un singolo aspetto del sistema. Se ho dieci sviluppatori, vorrei che fossero in grado di concentrarsi sulla nostra logica di business e sui nostri clienti e lasciare il sistema di registrazione a un altro gruppo esterno di sviluppatori che si concentrano interamente su tale sistema. È più semplice che ci siano meno preoccupazioni da gestire per il tuo team.

Quindi, di nuovo, probabilmente non userò lo stesso MVC e framework di registrazione per uno script batch one-shot che ho scritto per normalizzare alcuni concerti di dati. Sarebbe eccessivamente complesso.

    
risposta data 10.05.2011 - 21:31
fonte
3

Does KISS encourage tools and frameworks that expose complex leaky abstraction layers?

No. L'astrazione è semplice, l'astrazione che perde non lo è.
Non vuoi vedere, cosa c'è sotto il cofano di qualcosa, perché vuoi concentrarti su ciò che nascondi sotto il tuo cappuccio. Vuoi barriere di astrazione pulite e robuste tra i tuoi moduli semplici.

La semplicità è una delle migliori metriche per la qualità di una libreria. KISS favorisce le librerie semplici, anch'io lo sono, quindi tutti dovrebbero IMHO.

    
risposta data 10.05.2011 - 21:29
fonte

Leggi altre domande sui tag