Ponowne wykorzystanie kodu to metoda projektowania komputerów i innych systemów poprzez ponowne wykorzystanie już istniejącego kodu. System powinien składać się częściowo lub całkowicie z części komponentów napisanych wcześniej i/lub części innego systemu. Ponowne wykorzystanie kodu jest podstawową metodą stosowaną w celu zmniejszenia kosztów pracy przy tworzeniu złożonych systemów oprogramowania.
Rozmowy o "ponownym wykorzystaniu kodu" są bardzo popularne wśród programistów i przeważnie mówią o tym pozytywnie. Lubią myśleć, że zaprojektowane przez nich projekty są "uniwersalne" i "nadają się do innych projektów". Ale czy to prawda?

Ponowne wykorzystanie kodu: czy warto?

Ponowne wykorzystanie kodu jest naprawdę przydatne, jeśli tworzysz coś, co planujesz wykorzystać jako bibliotekę dla wielu projektów. Metoda ta pozwala zaoszczędzić czas i zasoby oraz zmniejszyć redukcję poprzez wykorzystanie już utworzonych zasobów. Kluczową ideą ponownego użycia kodu jest to, że części programu komputerowego napisane w jednym czasie mogą być wykorzystane do budowy innych programów napisanych w późniejszym czasie.
Niektóre tak zwane kody "ponownego użycia" obejmują po prostu kopiowanie niektórych lub wszystkich kodów z istniejącego programu do nowego. Chociaż organizacje mogą korzystać z tego podejścia, mogą napotkać wiele takich samych problemów związanych z kodami licencyjnymi spowodowanymi skracaniem i programowaniem.

Rodzaje ponownego użycia kodu

Wielu badaczy pracowało nad tym, aby metoda ponownego wykorzystania kodu była szybsza i łatwiejsza. Ponowne wykorzystanie kodu można dalej sklasyfikować:
? Ponowne wykorzystanie wewnętrzne - organizacja ponownie wykorzystuje własne komponenty. Może to być dobra decyzja biznesowa, ponieważ organizacja może chcieć kontrolować komponent, który jest krytyczny dla projektu.
? Ponowne wykorzystanie zewnętrzne - organizacja może licencjonować komponent innej firmy. Licencjonowanie komponentu innej firmy zwykle kosztuje 1-20 procent kosztów rozwoju w firmie. Zespół powinien również wziąć pod uwagę czas potrzebny na znalezienie, zbadanie i zintegrowanie komponentu.
Na przykład, jednym z największych rynków szablonów jest https://themeforest.net/. Tutaj ludzie mogą kupować motywy, edytować tekst i obraz i publikować witrynę tak, jak by ją zbudowali. Chociaż nie jest to złe podejście, jeśli jesteś małą firmą i potrzebujesz szybkiego rozwiązania. Najważniejsze pytanie brzmi - co jeśli chcesz zbudować witrynę podobną do Facebooka, czy możesz znaleźć szablon i ponownie go użyć? Nawet jeśli możesz, odpowiedź brzmi nie. Ponieważ trudno jest dostosować się do cudzej bazy kodu, a także bardzo trudno ją zaktualizować i prawdopodobnie łatwiej jest rozpocząć nowy projekt od zera.

Zalety i wady metody ponownego użycia kodu

Rozważmy zalety i wady ponownego użycia kodu. Naszym celem jest redukcja kosztów, zwiększenie niezawodności i poprawa spójności.
? Koszt - Koszt korzystania z istniejącego oprogramowania jest zazwyczaj niższy niż koszt stworzenia równoważnego produktu. Koszt zakupu oprogramowania jest niższy niż koszt korzystania z projektów open-source. Chociaż zmiana istniejącego kodu jest trudniejsza niż napisanie nowego).
? Niezawodność - Podczas przepisywania kodu łatwo przeoczyć dwie sytuacje. Pierwszą z nich jest kod funkcjonalny dodany przez pierwotnego autora. Druga to nowy kod dodany do kodu źródłowego po wykryciu defektu w teście. Korzystanie ze sprawdzonego kodu jest zwykle bardziej niezawodne niż nowy kod.
? Spójność - zewnętrzny interfejs dostarczany przez system musi być spójny: napisz nowy kod, który może być spójny z innymi częściami funkcji systemu.
Powinniśmy również pomyśleć o wielkości projektu. Na przykład, poniżej znajdują się zalety i wady ponownego użycia kodu dla małej strony internetowej.
Zalety:
? Szybkie wprowadzenie na rynek.
? Tania cena (zwykle jest to niewielka opłata lub 10-30 USD miesięcznie).
? Często zawiera aktualizacje.
Wady:
? Twój produkt końcowy nie jest wyjątkowy (sprawia wrażenie szablonowego, taniego rozwiązania).
? Często nie są zbyt konfigurowalne.
? Nadal musisz zatrudnić programistę lub programistę freelancera do realizacji projektu.

W przypadku złożonych i dużych aplikacji sytuacja z ponownym wykorzystaniem kodu jest inna

Zalety:
? Jeśli rozwiązanie 100% odpowiada Twoim potrzebom i ma wykwalifikowane wsparcie i ceny, warto z niego skorzystać.
Wady:
? Wciąż kosztuje znacznie (zwykle miesięczny płatny plan, który będziesz płacić na zawsze).
? Będziesz potrzebował wewnętrznego zespołu do zarządzania operacjami i rozwojem / ulepszeniami.
? Praca z cudzą bazą kodu jest bardzo trudna, czasami nawet niemożliwa, ponieważ może być bardzo niechlujna.

Ryzyko związane z ponownym użyciem kodu

Ponowne wykorzystanie kodu wiąże się z pewnym ryzykiem. Istnieją sytuacje, w których może to być po prostu niemożliwe. Jednym z problemów z uzasadnieniem inwestycji jest to, że niektórzy menedżerowie nie dają czasu na opanowanie starego kodu. Innym potencjalnym ryzykiem jest brak zrozumienia zakresu i komponentów kodu. Innym potencjalnym ryzykiem jest niemożność przeprowadzenia analizy.
Chęć zrozumienia całego kodu może być przytłaczającym zadaniem, dlatego ważne jest, aby podzielić kod na komponenty i wyróżnić kluczowe części do ponownego wykorzystania. Poświęć trochę czasu na zidentyfikowanie komponentów kodu, które powinny zostać ponownie wykorzystane. Czasami może być konieczne pełne udokumentowanie kodu. Na przykład zgodnie z wymogami regulacyjnymi, ale próby ponownego wykorzystania i udokumentowania całego kodu zwykle nie są skuteczne. Głównym celem powinno być zidentyfikowanie fragmentów kodu do dokumentacji i ponownego wykorzystania.

Ponowne wykorzystanie kodu: cztery kluczowe aspekty sukcesu

Główne kluczowe aspekty udanego ponownego użycia kodu to:
1. Zrozumienie architektury oryginalnego kodu w celu zidentyfikowania komponentów, granic i interfejsów.
2. Określenie potencjału ponownego wykorzystania.
3. Ocena czasu spędzonego na ponownym użyciu w porównaniu do ponownego tworzenia komponentów.
4. Podejmowanie decyzji dotyczących każdego komponentu: co i jak należy ponownie wykorzystać (bez zmian, z niewielkimi lub znaczącymi zmianami).

Wnioski

Najważniejszą rzeczą jest to, że bardzo łatwo jest pomyśleć "hmmm to rozwiązanie pasuje do 80% tego, czego potrzebuję". Z pewnością taniej jest po prostu dodać dodatkowe funkcje. Mimo to nie zalecamy tego robić. Trudniej jest dostosować istniejącą strukturę i rozwiązanie, zmienić projekt i zrobić wszystko pod cudzym kodem.
Ponowne wykorzystanie kodu jest możliwe, o ile jesteś zadowolony z kopiowania lub całkowicie tego samego rozwiązania. W momencie, gdy dostosujesz istniejący kod, trudno będzie utrzymać jego strukturę we właściwy sposób. Ponowne wykorzystanie kodu nie jest opcją, jeśli chcesz uzyskać doskonałą wydajność. Chociaż tworzenie oprogramowania na zamówienie jest drogie, zapewnia wysoką jakość, jeśli wybierzesz odpowiednich programistów.