Sto lavorando su un vecchio codebase che è ... non perfetto , in un ambiente che non lo è neanche. Non è la peggiore base di codice che ho visto nella mia vita, ma ci sono ancora molti problemi: zero test unitari; metodi con migliaia + linee di codice; incomprensione dei principi di base orientati agli oggetti; ecc.
Fa male mantenere il codice.
- Ogni volta che devo eseguire il debug di migliaia di righe di un metodo scritto male con variabili riutilizzate dappertutto, sono totalmente perso.
- Alcune modifiche o refactoring ho introdotto bug in altri punti dell'applicazione.
- Mancando documentazione, test o un'architettura osservabile e combinato con metodi con nomi errati, sento di riempire tutta la mia memoria di lavoro disponibile. Non c'è spazio per tutte le altre cose che devo ricordare per capire il codice che dovrei modificare.
- Le continue interruzioni sul posto di lavoro mi disturbano e rallentano.
- Non ricordo più di due o tre compiti alla volta senza un sistema di tracciamento dei bug, e li dimentico tutti durante il fine settimana.
I miei colleghi non sembrano avere problemi simili.
- Riescono a eseguire il debug dei metodi scritti in modo molto più rapido di me.
- Introducono meno bug di me quando si modifica il codebase.
- Sembra che ricordino molto bene tutto ciò di cui hanno bisogno per cambiare il codice, anche quando richiede la lettura di migliaia di righe di codice in venti file diversi.
- Non sembrano essere disturbati dalle e-mail, dai telefoni che squillano, dalle persone che parlano in giro e da altre persone che fanno loro delle domande.
- Non vogliono usare il sistema di tracciamento dei bug che abbiamo già da quando usiamo TFS. Preferiscono semplicemente ricordare ogni compito che dovrebbero svolgere.
Perché succede? È un'abilità che gli sviluppatori acquisiscono quando lavorano con codice scritto male per un lungo periodo? La mia relativa mancanza di esperienza con codice errato contribuisce a questi problemi / sentimenti? Ho problemi con la mia memoria?