Keresés

Új hozzászólás Aktív témák

  • gabor.79

    aktív tag

    válasz haxiboy #8 üzenetére

    Nem igaz, hogy az OOP-től egyszerűbb lenne az élet, ezt már egy végtelenül primitív példán keresztül is be lehet bizonyítani.

    Vegyük mondjuk ezt a kódot, az IPv4-ben a 62., az IPv6-ban a 144. sorban kezdődik a setAddress metódus. Ha összevetjük őket, majdnem teljesen megegyeznek, a legnagyobb küldönbség az IPv6 147.-164. soráig tartó feltétel, azon felül van egy reguláris kifejezés ellenőrzés, utána az IPv4-ben egy értékellenőrzés, majd a végén a privát adattagok írása. A megegyező részek csak paraméterben térnek el (például a reguláris kifejezésben), de a kód megegyezik,

    Tehát egy folyamatábra:

    setAddress()
    közös();
    ha (IPv6) { ... }
    közös(paraméter1);
    ha (IPv4) { ... }
    közös(paraméter2);
    }

    De mivel nem ilyen egyszerűen lett megvalósítva, a közös részek a két osztály metódusaiban ismételve vannak, így kétszeres a hibázás lehetősége.

    Persze a közös részeket kitehetnénk egy-egy függvénybe, de akkor ott vagyunk, hogy ez az egy metódus tovább bomlik, a kód töredezett lesz, és jóval több idő kell a megértéséhez. Ráadásul a (fölösleges) függvényhívások miatt, ha elhanyagolható mértékben is, de lassabban fut le a kód, mintha például procedurálisan oldanánk meg ugyanazt a feladatot (egy függvénnyel).

    Tehát az OOP-től önmagában nem lesz egyszerűbb az élet.

    [ Szerkesztve ]

Új hozzászólás Aktív témák