Z punktu widzenia projektu, kod wklejony do kopii jest z pewnością katastrofą, która może spowodować wiele problemów w przyszłości. Ale pytasz dlaczego zajmuje Ci dużo pracy teraz , odpowiedź brzmi: dlatego, że nigdy nie jest po prostu skopiowanie i wklejenie.
Jeśli oryginalny kod został napisany w celu ponownego wykorzystania, jako dość niezależna biblioteka, z myślą o elastyczności i obsłudze klienta - to świetnie, ale to nie jest kopiowanie i wklejanie, to użycie biblioteki kodu. Kopiowanie i wklejanie prawdziwego kodu zazwyczaj wygląda tak:
- „Jasne, mam już kod, który dokładnie to robi!”
- „Czekaj, która z tych pięciu wersji kodu jest tą, której chcę użyć jako źródła?”
- „Hmmm, do czego służą te wszystkie funkcje 'util_func_023'? Czy ich nie udokumentowałem? Których z nich potrzebuję teraz?”
- „O tak, ten kod korzysta z podstawy kodu Y. Chyba muszę [ wybierz jedną: skopiować całą bazę kodu Y do nowego projektu / spędzić dzień na wydobywaniu jednej funkcji, którą chcę z Podstawy kodu Y / spędzić tydzień na wydobywaniu potrzebna mi jedna funkcja z Code Base Y]. "
- „Skopiowałem wszystko, tak!”
- "Dlaczego to nie działa?"
- To jest punkt, w którym spędzasz godziny / dni / tygodnie debugując istniejący kod, który jest podobny do tego, co chcesz, zamiast pisać kod, od którego faktycznie chcesz zacząć.
Podsumowując, istniejący kod, którego nie można użyć bezpośrednio, może w najlepszym przypadku służyć jako dobre odniesienie do pisania podobnego kodu. Z pewnością nie da się go podnieść w całości i oczekiwać, że będzie działał w zupełnie innym systemie. Ogólnie rzecz biorąc, jest to bezpieczne założenie, że każdy kod, który został napisany i ukończony, powinien zostać wprowadzony jak najmniejszym bałaganem - nawet jeśli jest to kopia, a nie sam oryginał.
Jeśli chcesz oprzeć swój projekt na kopiowaniu i wklejaniu, musisz zacząć od kodu w sposób, który umożliwi łatwe ponowne użycie, bez kopiowania oryginalnego kodu i majstrowania przy nim. Warto to zrobić, a jeśli tego oczekuje twój szef, to oboje musicie się upewnić, że właśnie w ten sposób projektujesz i pracujesz.