Обходной приём

Обходной приём, workaround, паллиатив, на техническом жаргоне — «костыль» — относительно быстрое и простое решение проблемы, применяемое для срочного устранения её последствий, но не влияющее на причины её возникновения. Обходной приём обычно является временным, или неполным решением, не отвечающим требованиям к дальнейшему развитию системы, требующим в дальнейшем замены на окончательное, более полное. Очень часто обходные приёмы требуют творческого подхода и нестандартного мышления. Обходные решения применяются в разных областях человеческой деятельности, когда радикальное решение по какой-то причине не может быть применено вообще или требует слишком много времени для реализации.

Основной проблемой обходных приёмов является то, что их применение снижает мотивацию к радикальному решению проблемы и временный по своей сути «костыль» остаётся в качестве постоянного решения, сам по себе становясь источником дополнительных проблем. В технике реализация обходного приёма может стать причиной отказа системы в будущем[1]. К примеру, в компьютерном программировании обходные приёмы часто используются, чтобы обойти конкретную ошибку в библиотеке. Когда библиотека наконец-то будет исправлена, обходной приём, рассчитанный на ошибочное поведение библиотеки, может стать причиной сбоя в программе.

Причины применения обходных решений

  • Высокая стоимость подлинных решений.
  • Отсутствие в нужный момент ресурсов, требуемых для реализации подлинного решения.
  • Подлинное решение требует большого времени для разработки.
  • Пока неясно, как реализовать подлинное решение, и что оно будет из себя представлять.
  • Внедрение подлинного решения приведёт к потере совместимости с большим количеством существующих систем. Переоборудование же всех систем — дорогостоящее и долговременное занятие.
  • Отсутствие необходимой квалификации для применения подлинных решений.
  • Подлинное решение защищено патентом или авторским правом.

Примеры широко известных обходных решений

В программировании

  • Функция __doPostBack в ASP.NET. Существует потому, что у браузеров изначально не было возможности инициировать отправку страницы на сервер с помощью клиентского сценария (фактор — совместимость).
  • Спецификация XHTML 1.0 Transitional. Существует для совместимости с браузерами, поддерживающими старые спецификации HTML[2][3] (фактор — совместимость).

В технике

  • «Жучок» вместо предохранителя в электрощитке. Позволяет немедленно восстановить электроснабжение при отсутствии под рукой предохранителей, но может привести к пожару в случае перегрузки или короткого замыкания[4] (фактор — ресурсы, иногда — время).
  • Системы кодирования цвета в аналоговом телевидении: NTSC, PAL, SECAM. Все они разрабатывались с учётом совместимости с большим количеством существовавших на момент их разработки чёрно-белых телевизоров и с существовавшим форматом телевизионного сигнала. Как результат — все эти системы имеют свои недостатки, самый главный из которых — меньшая чёткость цвета по сравнению с яркостной составляющей[5] (фактор — совместимость).

В медицине

  • Применение жаропонижающих средств при вирусной инфекции. Они никак не воздействуют на причину заболевания, но устраняют или облегчают лихорадку, защищая внутренние органы в течение времени, необходимого иммунной системе для борьбы с вирусом (фактор — время).
  • Временная пломба на зубе, применяемая при лечении глубокого кариеса (первое посещение), лечении пульпита биологическим методом, после заполнения корневого канала. (фактор — время и стоимость временной пломбы по сравнению с полноценной).
  • Костыли — пока не срастётся перелом и больной будет в состоянии ходить без поддержки (фактор — время).

Примечания

  1. ASP Net — Firefox doPostBack (LinkButton) not working
  2. Переход к XHTML (недоступная ссылка)
  3. Сага о DOCTYPE (недоступная ссылка). Дата обращения: 17 марта 2009. Архивировано 8 февраля 2009 года.
  4. «Жучки», буржуйки и иконы. Архивировано 15 февраля 2016 года.
  5. Как устроен телевизионный сигнал. Теория цифровой обработки видеоизображения.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.