Копійований на копіювання код, безумовно, - це катастрофа, яка може спричинити багато проблем у майбутньому. Але ви питаєте , чому це займе у вас багато роботи прямо зараз , відповідь: тому , що він ніколи не просто копіювати і вставляти.
Якщо оригінальний код був написаний з метою повторного використання, як досить незалежної бібліотеки, з урахуванням гнучкості та використання клієнтів - то чудово, але це не копіювання-вставка, це використання бібліотеки коду. Копіювання справжнього коду зазвичай йде приблизно так:
- "Звичайно, у мене вже є код, який робить саме це!"
- "Зачекайте, яку з цих п'яти версій коду я хочу використовувати як джерело?"
- "Гммм, що роблять усі ці функції 'util_func_023'? Не я їх документував? Яка з них мені зараз потрібна?"
- "О, так, цей код використовує Code Base Y. Зрозуміло, мені потрібно [ вибрати один: скопіювати всю базу коду Y у мій новий проект / провести день, вилучаючи одну функцію, яку я хочу з бази коду Y / витратити тиждень на видобуток одну функцію, яку я хочу отримати з бази коду Y]. "
- "Я все скопіював, так!"
- "Чому це не працює?"
- Це момент, коли ви проводите години / дні / тижні, налагоджуючи існуючий код, подібний до того, що ви хочете, замість того, щоб писати код, який ви насправді хочете почати.
Підсумовуючи це, існуючий код, який неможливо використати безпосередньо, в кращому випадку може слугувати хорошою орієнтиром для написання подібного коду. Це, звичайно, не може бути знято цілим і, як очікується, працюватиме в зовсім іншій системі. Взагалі, це безпечне припущення, що будь-який код, написаний та завершений, повинен бути змішений якомога менше - навіть коли це копія, а не сам оригінал.
Якщо ви хочете базувати свій проект на копіюванні, вам слід розпочати кодування таким чином, що дозволить легко використовувати повторно, не копіюючи цей оригінальний код і не возившись з ним. Це варто зробити, і якщо це очікує ваш начальник, то вам обом потрібно переконатися, що саме так ви проектуєте та працюєте.