Navrhli jste API, chcete v něm provést změny a děsí
vás, co to způsobí s programy, které toto API
používají? V tomto článku si na jednoduchém příkladu
ukážeme, jak vám může pomoci RefactoringNG.
Mějme třídu Ship s metodou dock:
V rámci evoluce API metodu dock
přesuneme do třídy Harbour a uděláme
ji statickou:
Po této změně je potřeba všechna volání metody
dock na instancích třídy Ship nahradit voláním statické metody dock ze třídy Harbour. Např.,
je-li s proměnná typu Ship, musíme
změnit na
Běžný postup je, že metodu dock ve
třídě Ship označíme @Deprecated a počkáme, až programátoři
začnou používat novou metodu ve třídě Harbour. Pomocí RefactoringNG lze přechod k
nové metodě zautomatizovat. Stačí, když definujeme
pravidlo, které nahradí volání s.dock() voláním Harbour.dock(s):
Pomocí tohoto skriptu pak programátoři mohou snadno
upgradovat svůj kód na novou verzi API.
Chcete-li se o použití RefactoringNG při evoluci
API dozvědět více, podívejte se na tento článek.
