Estou trabalhando em uma antiga base de código que ... não é perfeita , em um ambiente que também não é. Não é a pior base de código que já vi na minha vida, mas ainda há muitos problemas: zero testes de unidade; métodos com mais de mil linhas de código; incompreensão dos princípios básicos orientados a objetos; etc.
Dói manter o código.
- Toda vez que tenho que depurar mil linhas de um método mal escrito com variáveis reutilizadas por todo o lado, estou totalmente perdido.
- Algumas modificações ou refatorações que introduzi introduziram erros em outros locais do aplicativo.
- Na falta de documentação, testes ou arquitetura observável e combinada com métodos com nomes inadequados, sinto que preencha toda a minha memória de trabalho disponível. Não há espaço sobrando para todas as outras coisas que preciso lembrar para entender o código que devo modificar.
- Interrupções constantes no local de trabalho me perturbam e me atrasam.
- Não me lembro de mais de duas ou três tarefas por vez sem um sistema de rastreamento de bugs, e esqueço todas elas no fim de semana.
Meus colegas não parecem ter problemas semelhantes.
- Eles conseguem depurar métodos mal escritos muito mais rápido que eu.
- Eles introduzem menos erros do que quando altero a base de código.
- Eles parecem se lembrar muito bem de tudo o que precisam para alterar o código, mesmo quando é necessário ler milhares de linhas de código em vinte arquivos diferentes.
- Eles não parecem ser incomodados por e-mails, telefones tocando, pessoas conversando ao redor e outras pessoas fazendo perguntas.
- Eles não querem usar o sistema de rastreamento de bugs que já temos desde que usamos o TFS. Eles preferem apenas lembrar de todas as tarefas que devem fazer.
Por que isso acontece? É uma habilidade específica que os desenvolvedores adquirem ao trabalhar com códigos mal escritos por um longo tempo? Minha relativa falta de experiência com código incorreto contribui para esses problemas / sentimentos? Tenho problemas com minha memória?