A klónok támadása

A klónok támadása. Hogyan kell kezelni a kettős kód? 15

  • 08.08.17 00:57 •
  • crazy_llama •
  • • # 335172
  • • Habrahabr
  • • a homokozóban
  • 7 •
  • 9000

- mint a Forbes, csak jobb.

Annak ellenére, hogy a problémákat, amelyek a párhuzamos kódot, gyakran nevezik a jelentősége ezeknek a kérdések évről évre szinte változatlan. Sok népszerű projektek a klónok száma a több száz vagy akár több ezer.

A klónok támadása

Hol vannak a klónok?

A következő fő okai A klónok:

Kell harcolni a klónok?

Egyrészt, a duplikált kód számos nyilvánvaló hátrányai. Az ilyen kód nehéz megváltoztatni és fejlődni, mert az ismétlődő projekt mérete növekszik, és bonyolult megérteni. Ezen túlmenően, amikor a másolás is felmerülhet hibák kockázatát terjedését az eredeti töredékek.

Másrészt, eltávolítja ismétli is vezethet hibák, különösen, ha ez szükséges ahhoz, hogy jelentős változtatásokat a szövegben. Azonban, a fő érv törlés ellen klónok, hogy az ilyen eltávolítása gyakran növekedést okoz a függőségek számát. Elég érdekes a van írva a cikkben: „redundancia vs függőségek: ami még rosszabb?”.

Véleményem klónok nem nagyon minőségi mutatóját a forráskódot, és így jár ugyanazokkal a problémákkal. Sajnos, nem mindig lehet hatékonyan eltávolítani, és nem mindig ők az igazi probléma. Egyes esetekben ezek jelezhetik egy rossz választás az építészet vagy a túlzott zsúfoltság funkciót.

Végül, törölheti klónok, akár nem - a helyzettől függ. Azonban minden esetben a duplikált kód - ez mindig nagy esemény, hogy tükrözze.

Műszerek keresni klónok

Sajnos, a legtöbb ilyen eszköz nem integrált fejlesztési környezet. Az integráció hiánya megnehezíti a navigálást, és refactor klónok. Ugyanakkor, a beépített eszközökkel IDE, nem annyira. Például, abban az esetben, IntelliJ IDEA választás csak a standard és a két vizsgálati dugó (PMD és Duplicate Detector).

Főbb jellemzői a bővítmény Duplicate Detector:


  • Elemzés kódot a légy (szerkesztése közben)
  • Elemzés ipari léptékű projektek (több millió sornyi kódot)
  • Egyszerű navigáció és összehasonlítjuk az ismétlődő
  • Támogatja a Java és Kotlin nyelven

Mi lehet hasznos eszközök klónok kimutatására?

  • Együttműködik legacy kód
  • Az egyszerű kód felülvizsgálata
  • Ahhoz, hogy nyomon követhesse a klónok nem lehet eltávolítani
  • Újraírás, ha használ hasonló módszerrel egy XP

újraírás klónok

Tény, hogy csak egy módja annak, hogy távolítsa el klónok - általánossá hasonló funkcionalitást. Ehhez, akkor létrehozhat egy segítő módszer vagy osztály, vagy próbálja kifejezni az egyik ismétlődő másik után. Nem szabad elfelejteni, hogy az újratervezés, hogy javítsa a minőségét a kódot. Ezért jobb, ha kreatív, mert néha a probléma lehet szélesebb vagy keskenyebb, vagy akár valami mást.

Nézzünk néhány konkrét példát a népszerű tavaszi keret. Ehhez használjuk a fejlesztési környezet IntelliJ IDEA bővítmény és Duplicate Detector.

Az a lehetőség, a fejlesztési környezet és a dugó

IntelliJ IDEA IDE és plug-in Ismétlődő Detector számos jellemzője, hogy könnyebben refactor klónokat. Például, sok funkció is megtalálható a helyi menüben Refactor vagy tipp ellenőrző kód (Alt + Enter keretében az ellenőrzés).

Itt található az összehasonlítás panel ismétlődések

A klónok támadása

A klónok támadása

Szintetizálni fragmens mint módszer

Kapcsolódó cikkek