Depende de como eles forçam você.
Na minha experiência, existem duas possibilidades:
Você se sente forçado por um cronograma apertado, código legado, etc.
Nesse caso, como a maioria das outras respostas já diz, cabe a você "otimizar o coolness". Você pode não ter tempo para reescrever a base de código para MVC, mas como primeiro passo, por exemplo, você pode parar de colar seu SQL manualmente e em vez disso escrever um execute_sql($query, $params)
, que cria a base para abstrações como fetch_customer($filter_params)
, etc. Lembre-se, todas as melhores práticas são, em última análise, que seu chefe recebe um produto mais cedo, então só há um conflito em quanto tempo investir no futuro contra o agora.
Quando você define o contexto certo ('dentro de 6 meses, sem tempo extra, eu refatorei o código monolítico para MVC') você deve deixar seu nome no código, e tentar se orgulhar como um terapeuta, que ensina um vítima de derrame para dizer palavras únicas novamente.
Você está explicitamente determinado a implementá-lo de uma forma que julgue imprópria
A tentativa de separar a visão do modelo não sobrevive à revisão, porque "é muito complicado, por que você não faz apenas consultas SQL?". Seu execute_sql
fica enlatado porque 'um codificador com disciplina não precisa disso'.
Este caso é ruim. Na minha experiência, geralmente vem com microgerenciamento e líderes de equipe que foram promovidos lá por razões políticas, não por seus sucessos. O problema real é que você é encarregado de algo (o código) que você não pode controlar (você tem que fazer do jeito deles).
A melhor solução seria resolver a causa raiz (ou seja, você é tratado como um grunhido). A segunda melhor (e na minha experiência, a usual) solução é desistir.
A vantagem é que, nesse cenário, seu nome provavelmente não será publicado, porque o líder da equipe leva o crédito por todo o sucesso.