Outro dia, revisei o código que alguém da minha equipe escreveu. A solução não estava totalmente funcional e o design era muito complicado - o que significa que informações desnecessárias armazenadas, recursos desnecessários criados e basicamente o código possuíam muita complexidade desnecessária, como revestimento de ouro e tentaram resolver problemas que não existem.
Nesta situação, pergunto "por que foi feito dessa maneira?"
A resposta é que a outra pessoa sentiu vontade de fazê-lo dessa maneira.
Depois, pergunto se algum desses recursos fazia parte das especificações do projeto, ou se eles têm alguma utilidade para o usuário final ou se algum dado extra seria apresentado ao usuário final.
A resposta é não.
Então, sugiro que ele exclua toda a complexidade desnecessária. A resposta que eu costumo receber é "bem, isso já está feito".
Minha opinião é que isso não é feito, é de buggy, não faz o que os usuários querem e o custo de manutenção será maior do que se tivesse sido feito da maneira mais simples que sugeri.
Um cenário equivalente é: O
colega passa 8 horas refatorando o código manualmente, o que poderia ter sido feito automaticamente no Resharper em 10 segundos. Naturalmente, não confio na refatoração manualmente, pois é de qualidade duvidosa e não totalmente testada.
Novamente, a resposta que recebo é "bem, isso já está feito".
Qual é a resposta apropriada para essa atitude?