Normal
ist der Code in irgendeiner Form API die ausserhalb deines/eures Einflusses besteht ? Je nach dem wie stark du kompatibel bleiben musst macht es das refactoring immer etwas schwerer bzw aufwaendiger.Du hast schonmal gut erkannt, dass Powermockito weg sollte, und dass statische Methoden (meist) fuer testbaren code schaedlich sind. Daher als generelle Methodik wuerde ich vorschlagen von innen nach aussen, test-getrieben die statischen Methoden umzuwandeln.Bei statischen Methoden ist es oft, dass die Methoden eigentlich Teil einer Klasse einer der Paramter sein sollte. Math.abs(-3) waere dann zb eine Methode der "int" Klasse (sorry besseres bsp ist mir nicht eingefallen um das zu zeigen was ich mein).Fuer jegliches Refactoring lege ich dir Home of the Mikado Method ans Herz, damit kann man wunderbar in kleinen Schritten code refactoren ohne in dem Wust von Aenderungen unterzugehen.Der Ansatz von Instanzmethoden und Injection sind meiner Ansicht nach schon der richtige Weg
ist der Code in irgendeiner Form API die ausserhalb deines/eures Einflusses besteht ? Je nach dem wie stark du kompatibel bleiben musst macht es das refactoring immer etwas schwerer bzw aufwaendiger.
Du hast schonmal gut erkannt, dass Powermockito weg sollte, und dass statische Methoden (meist) fuer testbaren code schaedlich sind. Daher als generelle Methodik wuerde ich vorschlagen von innen nach aussen, test-getrieben die statischen Methoden umzuwandeln.
Bei statischen Methoden ist es oft, dass die Methoden eigentlich Teil einer Klasse einer der Paramter sein sollte. Math.abs(-3) waere dann zb eine Methode der "int" Klasse (sorry besseres bsp ist mir nicht eingefallen um das zu zeigen was ich mein).
Fuer jegliches Refactoring lege ich dir Home of the Mikado Method ans Herz, damit kann man wunderbar in kleinen Schritten code refactoren ohne in dem Wust von Aenderungen unterzugehen.
Der Ansatz von Instanzmethoden und Injection sind meiner Ansicht nach schon der richtige Weg