Pakartotinis kodo naudojimas - tai kompiuterių ir kitų sistemų projektavimo metodas, kai pakartotinai naudojamas jau egzistuojantis kodas. Sistema turėtų būti iš dalies arba visiškai sudaryta iš anksčiau parašytų komponentų dalių ir (arba) kitos sistemos dalių. Pakartotinis kodo naudojimas yra pagrindinis metodas, kuris naudojamas siekiant sumažinti darbo sąnaudas kuriant sudėtingas programinės įrangos sistemas.
Kalbos apie pakartotinį kodo naudojimą yra labai populiarios tarp programuotojų ir dažniausiai apie tai kalbama teigiamai. Jiems patinka manyti, kad jų sukurti projektai yra "universalūs" ir "tinkami kitiems projektams". Bet ar tai tiesa?

Pakartotinis kodo naudojimas: ar verta?

Pakartotinis kodo naudojimas yra labai naudingas, jei kuriate kažką, ką planuojate naudoti kaip biblioteką keliuose projektuose. Taikant šį metodą taupomas laikas ir ištekliai, o naudojant jau sukurtus išteklius sumažinamas jų kiekis. Pagrindinė pakartotinio kodo naudojimo idėja yra ta, kad vienu metu parašytos kompiuterio programos dalys gali būti naudojamos kuriant kitas vėliau parašytas programas.
Kai kurie vadinamieji "pakartotinio naudojimo" kodai apima tiesiog kai kurių arba visų esamos programos kodų kopijavimą į naują programą. Nors organizacijos gali taikyti šį metodą, jos gali susidurti su daugeliu tų pačių problemų, susijusių su licencijų kodais, kurias sukelia trumpinimas ir programavimas.

Pakartotinio kodo naudojimo tipai

Daugelis tyrėjų dirbo, kad kodo pakartotinio naudojimo metodas būtų greitesnis ir paprastesnis. Pakartotinį kodo naudojimą galima toliau klasifikuoti:
? Vidinis pakartotinis naudojimas - organizacija pakartotinai naudoja savo pačios komponentus. Tai gali būti geras verslo sprendimas, nes organizacija gali norėti kontroliuoti projektui svarbų komponentą.
? Išorinis pakartotinis naudojimas - organizacija gali licencijuoti trečiosios šalies komponentą. Trečiosios šalies komponento licencijavimas paprastai kainuoja 1-20 proc. įmonės kūrimo išlaidų. Komanda taip pat turėtų atsižvelgti į laiką, skirtą komponentui surasti, ištirti ir integruoti.
Pavyzdžiui, viena didžiausių šablonų rinkų yra https://themeforest.net/. Čia žmonės gali nusipirkti temas, redaguoti tekstinius vaizdus ir paskelbti svetainę taip, kaip ją būtų sukūrę. Nors tai neblogas būdas, jei esate maža įmonė ir jums reikia greito sprendimo. Didelis klausimas - ką daryti, jei norite sukurti į "Facebook" panašią svetainę, ar galite susirasti šabloną ir jį panaudoti iš naujo? Net jei galite, atsakymas yra ne. Nes sunku pritaikyti kažkieno kito kodo bazę, taip pat labai sunku ją atnaujinti ir tikriausiai lengviau pradėti naują projektą nuo nulio.

Pakartotinio kodo naudojimo metodo privalumai ir trūkumai

Apsvarstykime pakartotinio kodo naudojimo privalumus ir trūkumus. Mūsų tikslas - sumažinti išlaidas, padidinti patikimumą ir nuoseklumą.
? Išlaidos - esamos programinės įrangos naudojimo sąnaudos paprastai yra mažesnės nei lygiaverčio produkto kūrimo sąnaudos. Programinės įrangos produktų pirkimo išlaidos yra mažesnės nei atvirojo kodo projektų naudojimo išlaidos. Nors pakeisti esamą kodą yra sunkiau nei parašyti naują).
? Patikimumas - perrašant kodą lengva nepastebėti dviejų situacijų. Pirmoji - tai pirminio autoriaus pridėtas funkcinis kodas. Antrasis - tai naujas kodas, pridėtas prie pradinio kodo po to, kai jie aptiko testo defektą. Naudoti patikrintą kodą paprastai yra patikimiau nei naują kodą.
? Nuoseklumas - sistemos teikiama išorinė sąsaja turi būti nuosekli: parašykite naują kodą, kuris gali būti nuoseklus su kitomis sistemos veikimo dalimis.
Taip pat turėtume pagalvoti apie projekto dydį. Pavyzdžiui, toliau pateikiami pakartotinio kodo naudojimo privalumai ir trūkumai mažoje interneto svetainėje.
Privalumai:
? Greitas patekimas į rinką.
? Pigi kaina (paprastai tai yra nedidelis mokestis arba 10-30 USD per mėnesį).
? Dažnai apima atnaujinimus.
Trūkumai:
? Jūsų galutinis produktas nėra unikalus (atrodo, kad tai yra pigus šablono sprendimas).
? Dažnai nėra labai daug pritaikomų.
? Vis dar reikia samdyti programuotoją arba laisvai samdomą programuotoją projektui įgyvendinti.

Sudėtingose ir didelėse programose pakartotinio kodo naudojimo situacija yra kitokia.

Privalumai:
? Jei sprendimas 100% atitinka jūsų poreikius, turi kvalifikuotą palaikymą ir kainas, jį verta naudoti.
Trūkumai:
? Vis dar kainuoja gerokai (paprastai mėnesinis mokamas planas, kurį ketinate mokėti amžinai).
? Jums reikės vidinės komandos, kuri valdytų operacijas ir plėtrą ir (arba) patobulinimus.
? Dirbti su svetima kodo baze labai sunku, kartais net neįmanoma, nes ji gali būti labai netvarkinga.

Pakartotinio kodo naudojimo rizika

Pakartotinis kodo naudojimas susijęs su tam tikra rizika. Kai kuriais atvejais tai gali būti tiesiog neįmanoma. Viena iš investicijų pagrindimo problemų yra ta, kad kai kurie vadovai neskiria laiko senajam kodui įsisavinti. Kita galima rizika - nepakankamas supratimas apie kodo apimtį ir sudedamąsias dalis. Dar viena galima rizika - nesugebėjimas atlikti analizės.
Noras perprasti visą kodą gali būti neįveikiama užduotis, todėl svarbu suskirstyti kodą į sudedamąsias dalis ir išskirti pagrindines dalis, kurias galima naudoti pakartotinai. Skirkite laiko kodo komponentams, kuriuos reikėtų naudoti pakartotinai, nustatyti. Kartais gali prireikti visiškai dokumentuoti kodą. Pavyzdžiui, pagal teisės aktų reikalavimus, tačiau bandymai pakartotinai panaudoti ir dokumentuoti visą kodą paprastai būna neveiksmingi. Pagrindinis tikslas turėtų būti nustatyti kodo fragmentus, kuriuos būtų galima dokumentuoti ir pakartotinai naudoti.

Pakartotinis kodo naudojimas: keturi pagrindiniai sėkmės aspektai

Pagrindiniai sėkmingo pakartotinio kodo naudojimo aspektai yra šie:
1. Pradinio kodo architektūros supratimas, siekiant nustatyti komponentus, ribas ir sąsajas.
2. Pakartotinio naudojimo galimybių nustatymas.
3. Pakartotiniam naudojimui sugaišto laiko įvertinimas, palyginti su pakartotiniu komponentų kūrimu.
4. Sprendimas dėl kiekvieno komponento: ką ir kaip pakartotinai naudoti (nepakeistą, su nedideliais ar dideliais pakeitimais).

Išvada

Svarbiausia, kad labai lengva pagalvoti "hmmm, šis sprendimas atitinka 80% to, ko man reikia". Be abejo, pigiau tiesiog pridėti papildomų funkcijų. Vis dėlto nerekomenduojame to daryti. Sunkiau pritaikyti esamą struktūrą ir sprendimą, pakeisti dizainą ir viską daryti pagal kažkieno kito kodą.
Pakartotinis kodo naudojimas galimas tol, kol jums pakanka kopijuojančio arba visiškai tokio paties sprendimo. Tą pačią minutę, kai pritaikysite esamą kodą, bus sunku išlaikyti tinkamą struktūrą. Pakartotinis kodo panaudojimas nėra tinkamas variantas, jei norite turėti puikų našumą. Nors individualus kūrimas kainuoja brangiai, jis suteikia kokybės, jei pasirenkate tinkamus kūrėjus.