70k linee di codice, tangle architetturali e le sfide del refactoring
1. 70k linee di codice, tangle architetturali e le sfide del refactoring Paolo Predonzani (paolo.predonzani@manydesigns.com)
2. “ Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.” (www.refactoring.org)
8. I package sono ordinati in base alle dipendenze principali I tangle sono evidenziati con bordo rosso Dipendenze circolari sono evidenziate in rosso Il numero indica quante dipendenze ci sono. L'indicazione “...” vuol dire “molti”
12. class A public void f(B b) { ... } class B public void g(A a) { ... }
13. class A public void f(B b) { ... } class B public void g(A a) { ... } Signature di A Signature di B
14. class A public void f() { B b = ... ... } class B public void g() { A a = ... ... }
15. class A public void f() { B b = ... ... } class B public void g() { A a = ... ... } Signature di A Signature di B Body di A Body di B
16. interface A void f(); interface B void g(); class ImplA implements A public void f() { B b = ... ... } class ImplB implements B public void g() { A a = ... ... }
17. Package A Package B Package ImplA Package ImplB Package Builder API Implementation Builder
18. Package A Package B Package ImplA Package ImplB Package Builder API Implementation Builder