TL; DR: codice rapido e sporco o "corretto" (inserisci la tua definizione di questo termine)?
C'è spesso una tensione tra "efficiente" ed "efficace" nello sviluppo del software.
"Efficiente" spesso indica un codice che è "corretto" dal punto di vista del rispetto degli standard, utilizzando schemi / approcci ampiamente accettati per le strutture, indipendentemente dalle dimensioni del progetto, dal budget, ecc. "Efficace" non riguarda l'essere "giusto", ma su come fare le cose. Ciò si traduce spesso in un codice che non rientra nei limiti degli standard "corretti" comunemente accettati, dell'utilizzo, ecc.
Di solito le persone che pagano per lo sforzo di sviluppo hanno dettato in anticipo cosa valgono di più. Un'organizzazione che vive in uno spazio tecnico tenderà verso la fine efficiente, altri tenderanno verso l'efficacia.
Gli sviluppatori spesso rifiutano di compromettere il loro approccio preferito per l'altro. Nella mia esperienza personale ho scoperto che le persone con un'istruzione formale nello sviluppo del software tendono al campo Efficient. Coloro che hanno raccolto lo sviluppo del software più o meno come uno strumento per ottenere risultati tendono al campo efficace. Questi campi non vanno d'accordo molto bene. Quando gestisci un team di sviluppatori che non sono tutti in un campo, è una sfida.
Nella tua esperienza personale su quale campo ti trovi, e ti ritrovi a dover giustificare il tuo approccio con gli altri? Alla direzione? Ad altri sviluppatori?