Suponho que por "melhores práticas" você quer dizer uma lista de regras que alguém escreveu em um livro. Pois é claro que se você quer dizer a frase literalmente, é claro que sempre deve escrever o melhor código possível.
Preciso salientar que não existe um conjunto único e universalmente aceito de "melhores práticas"? Para qualquer regra promovida por um especialista, quase sempre é possível encontrar outro especialista com credenciais iguais que diga algo diferente.
Mas, ao ponto: resposta curta: geralmente, mas nem sempre.
Cada campo tem suas "melhores práticas" e "soluções de livros didáticos". Elas representam a experiência acumulada e a sabedoria de muitas, muitas pessoas ao longo de muitos e muitos anos, e não devem ser ignoradas. MAS! Sempre existem circunstâncias especiais, casos marginais, etc. A pessoa verdadeiramente capaz em qualquer campo sabe quando seguir as regras e quando quebrá-las.
Eu diria em geral: Comece seguindo as regras do livro. Ao seguir as regras do livro didático leva a problemas - complexidade desnecessária, desempenho ruim, o que for -, considere se quebrar essa regra dessa vez pode não ser uma idéia melhor.
Se você ignorar as regras e for onde quer que seu capricho o leve, seu código provavelmente será uma bagunça. Não importa o quão inteligente você seja, você não é o primeiro programador do mundo. Faz sentido aprender com a experiência dos outros. Em nossa vida cotidiana, é por isso que temos pais, professores e pregadores: assim, não precisamos repetir todos os erros estúpidos para descobrir que é um erro estúpido de cometer.
Mas se você seguir uma lista de regras servilmente em algum livro 100% do tempo, frequentemente se encontrará martelando uma estaca quadrada em um buraco redondo. As pessoas que escreveram o livro de regras podem não ter se deparado com um caso como o seu. E mesmo que tenham, se é raro o suficiente, eles podem ter ignorado. Uma regra que funciona 80% do tempo é uma regra excelente - desde que você entenda que funciona 80% do tempo e não 100% do tempo.
Eu escrevi um livro sobre design de banco de dados que inclui muitas regras que eu aconselho os designers de banco de dados a seguir. (Abster-me-ei de dar o título para não parecer descaradamente insolente na autopromoção.) Certamente, incentivo qualquer pessoa que queira criar um banco de dados a ler um livro como o meu e aprender tudo o que puder com ele. . Mas é claro que há momentos em que você deve violar as regras que listo.
Certa vez, escrevi um documento sobre padrões de programação para uma equipe de desenvolvedores que liderava na época. E a última regra foi mais ou menos assim: "Se você tem um bom motivo para violar uma das regras acima, vá em frente, MAS você deve incluir um comentário em seu código explicando por que você quebrou a regra. Se você não pode vir por um bom motivo, siga a regra. Se escrever o comentário é mais problemático do que seguir a regra, siga a regra. " Tivemos apenas algumas vezes que alguém achou que infringir uma regra vale a pena ter que explicar o porquê.