- Обходной приём
-
Обходной приём, или Workaround — обходное решение проблемы, выявленной в системе (в простонародии «костыль»). Обходной приём обычно является временным, или не полным решением проблемы, не отвечающим требованиям к дальнейшему развитию системы, требующим в дальнейшем замены на окончательное, более полное. Очень часто обходные приёмы требуют творческого подхода и нестандартного мышления. Обходные решения применяются в разных областях человеческой деятельности.
Реализация обходного приёма может стать причиной отказа системы в будущем[1]. К примеру, в компьютерном программировании обходные приёмы часто используются, чтобы обратиться к проблемному месту в библиотеке, такому как некорректное возвращаемое значение. Когда библиотека наконец-то будет исправлена, обходной приём, рассчитанный на ошибочное поведение библиотеки, может стать причиной сбоя в программе. Нередко временные решения значительно запутывают систему, усложняя в дальнейшем её поддержку.
Содержание
Причины применения обходных решений
- Высокая стоимость подлинных решений
- Отсутствие в нужный момент ресурсов, требуемых для реализации подлинного решения
- Подлинное решение требует большого времени для разработки
- Пока неясно, как реализовать подлинное решение, и что оно будет из себя представлять
- Внедрение подлинного решения приведёт к потере совместимости с большим количеством существующих систем. Переоборудование же всех систем — дорогостоящее и долговременное занятие
Примеры широко известных обходных решений
В программировании
- Функция __doPostBack в ASP.NET. Существует потому, что у браузеров изначально не было возможности инициировать отправку страницы на сервер с помощью клиентского сценария (фактор — совместимость)
- Спецификация XHTML 1.0 Transitional. Существует по причине наличия у населения огромного количества браузеров, поддерживающих старые спецификации HTML[2][3] (фактор — совместимость)
В технике
- «Жучок» вместо предохранителя в электрощитке. Позволяет немедленно восстановить электроснабжение при отсутствии под рукой предохранителей, но может привести к пожару в случае перегрузки или короткого замыкания[4]. (фактор — ресурсы, иногда — время)
- Выход в интернет или связь нескольких компьютеров и прочих цифровых устройств через модем, подключённый к телефонной (Dial-up, ADSL) или телевизионной (Кабельные модемы) линии, вместо подключения по более дорогому цифровому каналу связи, специально предназначенному для этого (витая пара, оптоволокно)[5]. (фактор — стоимость, иногда — время)
- Системы кодирования цвета в аналоговом телевидении: NTSC, PAL, SECAM. Все они разрабатывались с учётом совместимости с большим количеством существовавших на момент их разработки чёрно-белых телевизоров и с существовавшим форматом телевизионного сигнала. Как результат — все эти системы имеют свои недостатки, самый главный из которых — меньшая чёткость цвета по сравнению с яркостной составляющей[6]. (фактор — совместимость)
В медицине
- Временная пломба на зубе, применяемая при лечении глубокого кариеса (первое посещение), лечении пульпита биологическим методом, после заполнения корневого канала. (фактор — время)
- Костыли — пока не срастётся перелом и больной будет в состоянии ходить без поддержки. (фактор — время)
Примечания
Категория:- Качество программного обеспечения
Wikimedia Foundation. 2010.