Введение

В любительском радио и вычислительной технике, "якорь для лодки" или "boat anchor" – это что-то устаревшее, бесполезное и громоздкое, получившее такое название из-за метафоры, что его единственное полезное применение – использовать как якорь для лодки. Подобные термины включают "кирпич", "подпорка для двери" и "грузик для бумаги".

Радиолюбители

В любительском радио, "якорь для лодки" (boat anchor) – это старое радиооборудование. Обычно этот термин используется по отношению к крупногабаритному и тяжелому радиооборудованию прошлых десятилетий, работавшему на лампах. В этом контексте "якоря для лодки" часто ценятся их владельцами, а их достоинства (например, устойчивость к электромагнитным импульсам) подчеркиваются, даже если более современное оборудование обладает большей функциональностью. Первое упоминание термина появилось в выпуске журнала CQ Amateur Radio Magazine за 1956 год. В журнале было опубликовано письмо читателя, который запрашивал "схемы или данные для переделки" военного излишка – радиостанции Wireless Set No. 19 MK II – для использования в любительских диапазонах. Редактор добавил следующий ответ: "Единственная переделка, которую мы нашли в наших архивах CQ, заключается в использовании 30 метров (100 футов) каната из манильской пеньки диаметром 2,5 см (1 дюйм), один конец которого следует надежно привязать к радиостанции MK II. Это превратит устройство в отличный якорь для небольшой лодки. Если у кого-нибудь из читателей есть более удачные варианты переделки, мы будем рады их узнать. – Ред." Использование этого термина редактором вызвало интерес у читателей, и в феврале 1957 года журнал CQ опубликовал продолжение этой истории, включавшее фотографии.

Компьютеры

Эта метафора напрямую переносится со старых радиоприемников на старые компьютеры. Она также была распространена на устаревшее программное обеспечение.

Оборудование

Первые компьютеры были физически большими и тяжелыми устройствами. По мере того, как компьютеры становились более компактными, термин "бо́т-якорь" (boat anchor) стал популярным среди пользователей для обозначения того, что старое, громоздкое компьютерное оборудование устарело и больше не пригодно к использованию.

Программное обеспечение

Термин "ботовой якорь" распространился на программный код, который остаётся в кодовой базе системы, как правило, на случай, если он может понадобиться в будущем. Это пример антипаттерна и, следовательно, может создать множество проблем для тех, кто пытается поддерживать программу, содержащую устаревший код. Основная проблема заключается в том, что программистам будет сложно отличить устаревший, неработающий код от рабочего кода. Например, программист может искать ошибку в системе обработки входных данных, поэтому он просматривает код в поисках участков, связанных с API обработки ввода. Очевидно, что если программист наткнётся на устаревший код обработки ввода, он может начать его редактировать и отлаживать, тратя ценное время, прежде чем поймёт, что этот код никогда не выполняется и, следовательно, не имеет отношения к решаемой проблеме. Другие проблемы включают увеличение времени компиляции и риск случайного связывания рабочего кода с недействующим кодом, что может привести к его непреднамеренному восстановлению. Рекомендуемое решение для работы с "ботовыми якорями" в исходном коде – удалять их из кодовой базы и помещать в отдельное место, чтобы при необходимости можно было к ним обратиться, но они не компилировались и не принимались за рабочий код. (Например, удалять их, зная, что они сохранены в системе контроля версий проекта.)