Sto lavorando su una vecchia base di codice che non è ... perfetta , in un ambiente che non lo è neanche. Non è la peggiore base di codice che abbia mai visto in vita mia, ma ci sono ancora molti problemi: zero unit test; metodi con mille + righe di codice; incomprensione dei principi di base orientati agli oggetti; eccetera.
Fa male mantenere il codice.
- Ogni volta che devo eseguire il debug di mille righe di un metodo mal scritto con variabili riutilizzate dappertutto, sono totalmente perso.
- Alcune modifiche o refactoring che ho fatto hanno introdotto dei bug in altri punti dell'applicazione.
- In mancanza di documentazione, test o architettura osservabile e combinato con metodi mal nominati, sento di riempire tutta la mia memoria di lavoro disponibile. Non c'è più 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 mi 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 di metodi scritti male molto più velocemente di me.
- Introducono meno bug di me quando cambio la base di codice.
- Sembrano ricordare 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 da e-mail, telefoni che squillano, persone che parlano dappertutto e altre persone che fanno loro domande.
- Non vogliono usare il sistema di tracciamento dei bug che abbiamo già da quando usiamo TFS. Preferiscono solo ricordare ogni compito che dovrebbero svolgere.
Perché succede? È una particolare abilità che gli sviluppatori acquisiscono lavorando a lungo con codice scritto male? La mia relativa mancanza di esperienza con codici errati contribuisce a questi problemi / sentimenti? Ho problemi con la memoria?