A számítógép-programozásban, egy metódusnak hosszú a paraméterlistája, ha túl sok paramétert vesz át, akkor nehezebb megérteni, hogy melyik paraméter mit jelent és mi történik a metódusokban. Előfordulhatnak kapcsoló paraméterek is, melyek a metódus belsejében feltételvizsgálattal döntik el, hogy a metódus mit csinál. Ez arra utal, hogy több metódust gyúrtak egybe. Az áttekinthetőség érdekében a paraméterek számát három-négyben szokás korlátozni.

A hosszú paraméterlista abból is adódhat, ha osztályokat próbálnak függetleníteni. Lásd például a gyártó metódust, ami az átvett paraméterekből létrehoz objektumokat, a kliens pedig paraméterként kapja ezeket az objektumokat. Most már a kliens nem ismeri a kapcsolatot az objektumok között, Valahány ilyen objektumot kap, annyi paraméter lesz a kliensben.

A sok paraméter arra is utalhat, hogy a metódus rossz osztályban van, hiszen a saját osztályának tagjait nem kellene paraméterként átvennie. De vannak más módszerek is a helyzet kezelésére: Ha több paraméter ugyanahhoz az objektumhoz tartozik, akkor adjuk át helyettük az objektumot. Ha nincs ilyen objektum, akkor definiálhatunk egy osztályt, ami tartalmazza a szükséges paramétereket. Ezek után akár a metódus is mehet az új osztályba. Bizonyos paraméterek esetén akár egy metódus is hívható, hogy kiszámolja őket.

A refraktorálással könnyebben megtalálható a kódduplikáció, és egyszerűbb, érthetőbb kódot kapunk.

Forrás Refractoring Guru

Kategória:Programozási antiminták