Suppongo che per "buone pratiche" intendi un elenco di regole che qualcuno ha scritto in un libro. Ovviamente se intendi la frase letteralmente, allora ovviamente dovresti sempre scrivere il miglior codice possibile.
Devo far notare che non esiste un unico insieme di "buone pratiche" universalmente accettate? Per qualsiasi regola promossa da un esperto, puoi quasi sempre trovare un altro esperto con credenziali uguali che dica qualcosa di diverso.
Ma al punto: Risposta breve: di solito, ma non sempre.
Ogni campo ha le sue "migliori pratiche" e "soluzioni di libri di testo". Questi rappresentano l'esperienza accumulata e la saggezza di molte, molte persone per molti, molti anni e non dovrebbero essere ignorati. MA! Ci sono sempre circostanze speciali, casi marginali, ecc. La persona veramente capace in ogni campo sa quando seguire le regole e quando interromperle.
Direi in generale: iniziare seguendo le regole del manuale. Quando seguire le regole del libro di testo porta a problemi - complessità non necessaria, prestazioni scadenti, qualsiasi cosa - quindi considera se rompere questa regola una volta potrebbe non essere un'idea migliore.
Se ignori le regole e vai dove ti porta il tuo capriccio del momento, il tuo codice sarà probabilmente un pasticcio confuso. Non importa quanto sei intelligente, non sei il primo programmatore al mondo. Ha senso imparare dall'esperienza degli altri. Nella nostra vita quotidiana, questo è il motivo per cui abbiamo genitori, insegnanti e predicatori: quindi non dobbiamo ripetere noi stessi ogni stupido errore per scoprire che si tratta di un errore stupido da fare.
Ma se segui pedissequamente un elenco di regole da alcuni libri il 100% delle volte, ti troverai spesso a martellare un piolo quadrato in un buco rotondo. Le persone che hanno scritto il regolamento potrebbero non aver trovato un caso simile al tuo. E anche se lo fossero, se è abbastanza raro potrebbero averlo ignorato. Una regola che funziona l'80% delle volte è una regola eccellente, purché tu capisca che funziona l'80% delle volte e non il 100% delle volte.
Ho scritto un libro sulla progettazione di database che include molte regole che consiglio ai designer di database di seguire. (Mi asterrò dal dare il titolo in modo che non sembri che sto sfortunatamente scivolando nell'autopromozione.) Certamente incoraggio chiunque voglia progettare un database per leggere un libro come il mio e imparare tutto ciò che può da esso . Ma DI CORSO ci sono momenti in cui dovresti rompere le regole che elenco.
Una volta ho scritto un documento di programmazione standard per un team di sviluppatori che ho guidato in quel momento. E l'ultima regola è andata più o meno così: "Se hai una buona ragione per rompere una delle regole precedenti, allora vai avanti, MA devi includere un commento nel tuo codice che spiega perché hai infranto la regola. Se non puoi venire con una buona ragione, quindi segui la regola: se scrivere il commento è più difficile che seguire la regola, allora segui la regola ". Abbiamo avuto solo una manciata di volte in cui qualcuno ha scoperto che infrangere una regola valeva la pena di dover spiegare il perché.