Quand'è che un programmatore considera un codice sorgente "Legacy" ???
Quando e come quel codice è diventato Legacy ???
Visti i link, letti i commenti, l'idea che mi convince sempre di più è questa.
Visto che non è una tecnologia superata a rendere un codice Legacy - visto che non è il fatto che il codice non è documentato e nessuno sa più cosa fa come e perché a renderlo Legacy - visto che non è il tempo che passa e non è l'uso che lo consuma a renderlo Legacy - vista la difficoltà di leggere il codice rispetto la facilità a scriverlo cioè non è facile valutare il codice altrui (specie quando non presente) allo stesso modo del proprio (ogni scarrafone è bello a mamma soja) ... :
Il codice quando è Legacy lo è dal momento stesso in cui viene scritto oppure non lo è per niente
E quanto il codice scritto è Legacy o non lo è varia in relazione degli skill di coding del team che lo produce
Dal punto di vista pratico sono 2 le cose che mi convincono in questo senso:
- Mi è capitato di trovare nel codice di un sw rifatto da zero segni di difficoltà/ostacoli simili a quelli del codice "Legacy" che sostituiva
- Leggendo Working Effectively with legacy code di M.C.Feathers ci ho trovato tecniche di refactoring del codice valide e applicapili tanto a codice Legacy pre-esistente quanto a codice nuovo ancora da scrivere
Tags : Team Work | Agile | Pratiche | Progettazione Software |