Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Что такое костылизация (паллиатив) в программировании? кратко

Практика



« костылизация » – понятие, появившееся в эру развития и популяризации высокоуровневых языков, таких как C++, PHP, Java и т.д.

паллиатив (Палиатив , пальятив , от фр. palliatif и лат. pallium «паллий, покрывало, греческий плащ, верхнее платье») — не исчерпывающее, временное решение, полумера, закрывающее, как «плащ», саму проблему.

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

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

В период разработки и отладки программы возникают разнообразные ошибки. Для их устранения используют так называемые «костыли», которые позволяют временно или навсегда решить появившийся Bug (ошибку) любым возможным на данный момент способом несмотря на проблемы, которые могут появится, а в большинстве случаев они таки появляются. Что влечет за собой использование еще одного костыля, а за ним второго и так далее.
Существует пословица «Костыль костыля, костылем подпирает», она в полной мере описывает процесс «костылизации».
Качество кода бесспорно важно, но если от разработчика требуют внести корректировки или добавить новый функционал сиюминутно, то можно временно использовать «костыль».
Если код набирает критическую «костыльную» массу, стоит позаботиться о выделении времени на рефакторинг кода.

Что такое костылизация (паллиатив)  в программировании?

"Костылизация" в программировании - это термин, который используется для описания практики добавления временных или неэффективных решений к программному коду, чтобы обойти или решить проблемы, возникшие в процессе разработки. Эти "костыли" обычно не являются чистыми и оптимальными решениями, но могут быть применены, чтобы быстро устранить ошибки, обеспечить работоспособность программы или достичь желаемого функционала, не переписывая всю структуру программы.

Например, "костылизация" может включать в себя следующие действия:

  1. Использование глобальных переменных для обмена данными между разными частями программы вместо передачи аргументов функциям.

  2. Добавление большого количества условных операторов (if-else) для управления разными сценариями внутри одной функции, что делает код менее читаемым и сложным для поддержки.

  3. Использование "магических чисел" в коде вместо констант и перечислений для обозначения определенных значений.

  4. Использование костылей для обхода ошибок или исключений, вместо тщательной обработки ошибок и исключений.

  5. Дублирование кода, вместо создания функций или классов для повторно используемых задач.

Хотя костыли могут быть полезными в ситуациях, когда требуется быстрое исправление проблемы, они могут также привести к техническому долгу и ухудшению общего качества и читаемости кода. Поэтому важно впоследствии вернуться к таким участкам кода и рассмотреть возможности улучшения и оптимизации, чтобы избежать ненужных "костылей" в долгосрочной перспективе.

Что такое костылизация (паллиатив)  в программировании?Что такое костылизация (паллиатив)  в программировании?

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

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

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

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

  • Функция __doPostBack в ASP.NET. Существует потому, что у браузеров изначально не было возможности инициировать отправку страницы на сервер с помощью клиентского сценария (фактор — совместимость).
  • Спецификация XHTML 1.0 Transitional. Существует для совместимости с браузерами, поддерживающими старые спецификации HTML (фактор — совместимость).
Вау!! 😲 Ты еще не читал? Это зря!:

В технике

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

В медицине

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

Вау!! 😲 Ты еще не читал? Это зря!

создано: 2018-10-26
обновлено: 2024-11-14
488



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Диагностика, обслуживание и ремонт электронной и радиоаппаратуры

Термины: Диагностика, обслуживание и ремонт электронной и радиоаппаратуры