ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
923263 Топик полностью
fk0, легенда (24.05.2019 11:34, просмотров: 415) ответил SciFi на Копипаста - дублирование кода. Функции с общим кодом придумали трусы. И вообще, сегодня народ выходит из шкафа и даже не стесняется. Пятница!
Я не соглашусь, но боюсь, будет как с goto. Дублирование не всегда плохо, но в руках дурака может быть смертельно. Суть в том, что если код одинаков, то не обязательно, в перспективе, это одно и то же, просто здесь и сейчас оно выглядит похоже, но в перспективе это всё же разные вещи. Искусственно выискивать "копипасту" и объединять в общие функции дурная идея. Можно легко не уследить и поломать логику, когда для одного варианта она будет как-то осмысленно исправлена, а для другого поломана, в общей функции. Нужно выделять какие-то конкретные функции, с понятными стоящими за ними абстракциями, с однозначно понятным функционалом и без побочных эффектов. Не знаю как сказать. Сложение векторов например -- это ок, потому, что вектор это понятная где угодно применимая абстракция. Функция нужная только в модулях 1 и 2, и оказавшаяся там общей, оперирующая абстракциями специфическими только в модулях 1 и 2 -- тот случай, когда может быть лучше оставить "копипасту", особенно если эти абстракции не выделить в отдельную сущность (класс, например).
[ZX]