Костыли в коде

Причины для костылей:

  1. Ошибка в ПО нижнего уровня. Решение этой ошибки перекладывается по ПО верхнего уровня. 
  2. Добавление функциональности, которая не предполагается текущей архитектурой ПО.

Если причина №1, то нужно следовать золотому правило костылизации: знание о костыле должно быть минимизировано (костыль должен подставляться максимально близко к месту проблемы, порождающего необходимость в костыле).

Если причина №2, то нужно следовать принципу инкостыляции (аллюзия на инкапсуляцию): код, связанный с костылём должен быть собран в одно место (один файл, один класс, и т.п.). Далее этот код вызывается из нужных мест в программе.