Hirdetés

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

  • cucka

    addikt

    válasz samujózsi #161 üzenetére

    Igen, akkor nem ment át a lényeg, kifejtem.

    Amikor újrafelhasználható kódot írsz, akkor arra gondolsz, hogy a kódodat hogyan lehet majd később máshol használni. Például olyan absztrakciókat vezetsz be, amelyek a későbbiekben lehetővé teszik, hogy azt a darab kódot máshol is felhasználd. Ez totális tévút, többnyire hibás feltételezések alapján rossz absztrakciókat fog eredményezni.
    A SOLID szabályai sokkal szűkebben vannak értelmezve, és egyáltalán nem az újrafelhasználhatóság miatt találták ki őket, hanem a szoftver karbantarthatósága miatt. A cél mindig az, hogy a forráskódban könnyű legyen a meglévő fícsöröket módosítani és új fícsöröket hozzáadni.

    Ha belegondolsz, a kódbázisod újrafelhasználható része framework-ökben és library-kban található, ráadásul a többsége nem is a saját kódod, hanem 3rd party.
    Ahogy fejlődik a kódbázis, rájösz, hogy bizonyos részeket érdemes lenne újra felhasználni. Ha az említett betűszavakat betartva fejlesztetted, akkor könnyű lesz azokat a kód-darabokat kiemelni egy librarybe és pikk pakk újra felhasználtad a kódodat.
    Ha előre próbálod kitalálni, hogy mit fogsz majd a jövőben újra felhasználni, akkor beviszed magad az erdőbe, haszontalan, túlbonyolított absztrakciókat fogsz kitalálni, és amikor valóban eljön az idő, hogy újra felhasználd a kódod, akkor rájösz, hogy az előre okoskodással pont ellentétes hatást értél el, és nem hogy megkönnyítetted az újrafelhasználhatóságot, hanem nehezebbé tetted.

    Ezt az egész a YAGNI betűszó kifejtése, ez az elv pont erről szól, hogy nem próbálj meg előre, kitalált feltételezések mentén okos lenni, mert az a tapasztalat, hogy nem szokott bejönni.

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