Rimuovere le duplicazioni nel codice raramente è una sequenza lineare di passi in avanti.
Ci sono modi diversi di scegliere da quali duplicazioni cominciare, modi diversi di eliminare ogni duplicazione, e durante ogni eliminazione si possono evidenziare nuove duplicazioni.
Qual è il modo naturale di procedere per rimuovere il codice duplicato?
Il modo naturale è di procedere per tentativi facendo passi in avanti e ogni tanto passi indietro: ad ogni tentativo il disegno originale apparirà più chiaro e cosi il modo di procedere.
Questo è un punto in cui Team System ha una carenza. Infatti ci sono CVS che permettono di fare check-in locali e ne mantengono la storia rendendo possibile di muoversi agilmente avanti e indietro tra i passi fatti mentre gli Shelve di TS nativamente permettono di fare un solo passo indietro.
Riferimenti: Working Effectively with legacy code di M.C.Feathers
Tags : Team Work | Agile | Pratiche | Progettazione Software |