Sembra che nessuno sollevi il punto di cosa c'è nell'interesse della tua azienda?
Spesso, se non sempre, i programmatori sono solo dipendenti, e mentre le decisioni di gestione potrebbero frustrarci, spesso non abbiamo tutti i dati che fanno.
Ad esempio, supponiamo che la società abbia una clausola contrattuale che se il software non è pronto in tempo, non verrai pagato (ci è appena successo, anche se penso che abbiamo ricevuto il pagamento dopo tutto). Sì, il codice pulito è importante, ma più importante è far funzionare il codice entro il giorno di pagamento!
Un altro esempio: la compagnia è in cattive condizioni finanziarie e ha bisogno di raccogliere denaro. Indovina chi se ne importa della qualità? Puoi aggiustarlo più tardi, se necessario, spediscilo!
Un argomento potrebbe essere "Perché dovrei vendere e scrivere codice scadente?". Bene, perché la tua azienda dovrebbe pagarti un bel controllo ogni mese? Scelte, amico mio. Se sei alla ricerca di idealismo, prova la Free Software Foundation ; Ho sentito che stanno facendo cose interessanti (intendo questo, e rispetto FSF e OSS).
Dall'altro lato, se si lavora a un progetto in cui è prevista una crescita esplosiva nell'uso (anche se tali proiezioni non sono quasi mai accurate), è meglio gettare alcune solide fondamenta con la migliore qualità del codice richiesta, poiché è quasi una certa manutenzione sarà il costo maggiore per il progetto.
I programmatori amano il codice 'pulito', qualunque cosa significhi. Non possiamo nemmeno essere d'accordo su ciò che è pulito, ma lo adoriamo. Tuttavia, a volte non importa tanto quanto l'usabilità e la correttezza. Questi potrebbero sembrare sinonimi, ma non lo sono - se hai visto il codice scritto da un vero hacker Perl in 4 ore con l'intento di essere usato due volte e gettato via, riconoscerai che non è pulito, ma funziona.
Quindi a volte, a parte l'ego, dovremmo farlo funzionare. Si noti che non raccomando di scrivere codice cattivo come un'abitudine; Sto solo indicando che potrebbe essere necessario. La perfezione richiede un po 'di tempo che la tua azienda potrebbe non avere. Quindi, se il tuo datore di lavoro non si preoccupa, crea software, ma se è necessario, scrivi semplicemente codice funzionante, non preoccuparti della' pulizia '. Non è solo una risposta "Misura unica": devi dare la priorità.