Depende.
Se for um projeto pequeno, simples, as vezes só de funcionar já tá ótimo. Complicar demais querendo fazer um código bonito pode atrasar seu projeto a troco de nada.
Se é uma emergência, primeiro tu resolve, depois tu "embeleza" o código.
Se você tá criando algo do zero mas já sabe que esse projeto vai crescer com o tempo, já é interessante você ir construindo utilizando as boas práticas, pra não ficar muito bagunçado depois. As vezes o código funciona, mas basta aumentar um pouquinho as requisições e ele quebra.
No mais, é praticamente impossível escapar da refatoração. Digamos que não existe "código perfeito", e você precisa mante-lo atualizado. Então, geralmente, primeiro a gente foca em fazer funcionar, depois em otimizar.