Não tenho muita experiência em trabalhar na indústria de software, sendo autodidata e participando de código aberto antes de decidir aceitar um emprego. Agora que trabalho por dinheiro, também tenho que lidar com algumas coisas desagradáveis, o que é normal, é claro.
Recentemente, fui designado para adicionar log a um grande projeto do SharePoint, escrito por algum programador que obviamente estava aprendendo a codificar no trabalho. Após 2 anos de colaboração, o cliente mudou para a nossa empresa, mas o estrago estava feito e agora, de alguma forma, preciso manter esse código.
Não que o código fosse muito difícil de ler. Apesar dos problemas - cada projeto tem uma classe com vários métodos de copiar e colar if
, aninhamentos enormes , sistemas húngaros, conexões indisponíveis - ainda é legível.
No entanto, eu me achei absolutamente improdutivo, apesar de trabalhar em algo tão simples quanto adicionar log. Basicamente, eu só preciso seguir o código passo a passo e adicionar algumas chamadas de rastreamento. No entanto, a idiotice do código é tão irritante que me canso dentro de 10 minutos após o início . No começo, eu costumava adicionar using
construções, reduzir o aninhamento ao inverter if
, renomear as variáveis para nomes legíveis - mas o projeto é grande e, por fim, desisti. Eu sei que essa não é a tarefa que eu deveria estar fazendo, mas pelo menos reduzir a bagunça me deu algum tipo de recompensa psicológica para que eu pudesse continuar. Agora o truque parou de funcionar e ainda tenho 60% do meu trabalho a fazer.
Comecei a ter dores de cabeça depois do trabalho, e não sinto mais a satisfação que costumava ter - o que normalmente me permitia codificar por 10 horas seguidas e ainda me sinto fresco.
Este não é apenas um grande discurso, pois realmente tenho uma pergunta:
Existe uma maneira de permanecer produtivo e não combater os moinhos de vento?
Existe algum tipo de truque psicológico para manter o foco na tarefa, em vez de pensar em "quão estúpido é isso ?" Cada vez que vejo outro truque inteligente do programador anterior? O problema com a adição de log é que eu realmente tenho que entender o que o código faz, e isso machuca meu cérebro de uma maneira desagradável.
obj
é assustador, porque é basicamente ilegível.