Acabei de ingressar em uma equipe de desenvolvimento (relativamente) pequena que trabalha em um projeto há vários meses, se não um ano. Como a maioria dos desenvolvedores que ingressou em um projeto, passei meus primeiros dias revisando a base de código do projeto.
O projeto (um aplicativo interno de linha de negócios de médio a grande porte do ASP.NET WebForms) é, por falta de um termo mais descritivo, um desastre. Existem três problemas imediatamente visíveis nos padrões de codificação:
- O padrão é muito flexível. Ele descreve mais o que não fazer (não use a notação húngara, etc.) do que o que fazer.
- O padrão nem sempre é seguido. Existem inconsistências com a formatação do código em todos os lugares .
- O padrão não segue as diretrizes de estilo da Microsoft. Na minha opinião, não vale a pena desviar-se das diretrizes estabelecidas pelo desenvolvedor da estrutura e pelo maior colaborador da especificação da linguagem.
Quanto ao ponto 3, talvez isso me incomoda mais, porque dediquei um tempo para obter meu MCPD com foco em aplicativos da Web (especificamente, ASP.NET). Também sou o único Microsoft Certified Professional da equipe. Por causa do que aprendi em toda a minha escolaridade, auto-ensino e aprendizagem no trabalho (incluindo minha preparação para os exames de certificação), também vi várias instâncias no código do projeto em que as coisas simplesmente não são feitas no melhor maneira.
Estou nessa equipe há apenas uma semana, mas vejo tantos problemas com a base de código que imagino que passarei mais tempo lutando com o que já está escrito para fazer as coisas "do jeito deles" do que eu faria se estivesse. trabalhando em um projeto que, por exemplo, seguiu padrões de codificação, padrões de arquitetura e melhores práticas mais amplamente aceitos. Isso me leva à minha pergunta:
Devo (e em caso afirmativo, como devo) propor ao meu gerente de projeto e à equipe liderar que o projeto precise ser reformado em grande parte?
Eu não quero entrar no escritório deles, agitando meus certificados MCTS e MCPD, dizendo que a base de código do projeto deles é uma porcaria. Mas eu também não quero ter que ficar em silêncio e ter de escrever código kludgey sobre seu código kludgey, porque eu realmente quero software de qualidade de gravação e eu quero que o produto final seja estável e de fácil manutenção.