Durante una discussione, uno dei miei colleghi ha detto che ha qualche difficoltà con il suo progetto attuale mentre cerca di risolvere i bug. "Quando risolvo un bug, qualcos'altro smette di funzionare altrove", ha detto.
Ho iniziato a pensare a come ciò potesse accadere, ma non riesco a capirlo.
- A volte ho problemi simili quando sono troppo stanco / assonnato per fare il lavoro correttamente e avere una visione d'insieme della parte del codice su cui stavo lavorando. Qui, il problema sembra essere per alcuni giorni o settimane e non è collegato al focus del mio collega.
- Posso anche immaginare questo problema derivante da un progetto molto grande, gestito in modo molto cattivo , in cui i compagni di squadra non hanno idea di chi fa cosa e quali effetti sul lavoro degli altri possano avere un cambiamento che stanno facendo. Questo non è nemmeno il caso qui: è un progetto piuttosto piccolo con un solo sviluppatore.
- Può anche essere un problema con una base di codice vecchia, mal gestita e mai documentata , in cui gli unici sviluppatori che possono davvero immaginare le conseguenze di un cambiamento avevano lasciato l'azienda anni fa. Qui, il progetto è appena iniziato e lo sviluppatore non utilizza la base di codici di nessuno.
Quindi quale può essere la causa di tale problema su una base di codice fresca e di piccole dimensioni scritta da un singolo sviluppatore che rimane concentrato sul suo lavoro ?
Cosa può aiutare?
- Test unitari (non ce ne sono)?
- Architettura corretta (sono abbastanza sicuro che la base di codice non abbia alcuna architettura e sia stata scritta senza pensiero preliminare), richiedendo l'intero refactoring?
- Accoppia la programmazione?
- Qualcos'altro?