Sembra che nessuno sollevi il punto di ciò che è nel migliore interesse della tua azienda?
Spesso, se non sempre, i programmatori sono solo dipendenti e, sebbene le decisioni di gestione possano frustrarci, spesso non disponiamo di tutti i dati che possiedono.
Ad esempio, supponiamo che la società sia contratta con una clausola secondo cui se il software non è pronto in tempo, non verrai pagato (è successo solo a noi, anche se penso che dopo tutto abbiamo ricevuto il pagamento). Sì, il codice pulito è importante, ma più importante è che il codice funzioni entro il giorno del pagamento!
Un altro esempio: la società è in cattiva posizione finanziaria e deve raccogliere fondi. Indovina chi se ne frega della qualità? Puoi ripararlo in seguito, se necessario, spediscilo e basta!
Un argomento potrebbe essere "Perché dovrei esaurire e scrivere codice scadente?". Bene, perché la tua azienda dovrebbe pagarti un buon assegno ogni mese? Scelte, amico mio. Se cerchi l'idealismo, prova la Free Software Foundation ; Ho sentito che stanno facendo cose piuttosto interessanti (intendo questo, e rispetto FSF e OSS).
D'altra parte, se lavori su un progetto in cui è prevista una crescita esplosiva nell'uso (sebbene tali proiezioni non siano quasi mai accurate), è meglio gettare delle basi solide con la migliore qualità di codice richiesta, poiché è quasi certo che la manutenzione lo farà essere il costo maggiore per il progetto.
I programmatori adorano 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'intenzione di essere usato due volte e gettato via, riconosceresti che non è pulito, ma funziona.
Quindi a volte, a parte l'ego, dovremmo semplicemente farlo funzionare. Si noti che non consiglio di scrivere il codice errato come abitudine; Sto solo indicando che potrebbe essere necessario. La perfezione richiede tempo che la tua azienda potrebbe non avere. Quindi, se al tuo datore di lavoro non importa, crea un software, ma se è necessario, basta scrivere un codice funzionante, non importa la "pulizia". Non è solo una risposta "Taglia unica", devi dare la priorità.