Flex по-английски — гнуть. Иногда бывает так, что лучше «подогнуть» проект, но сдать в срок и в рамках бюджета, чем продолжать жить без реализованного проекта. Если польза от запущенного проекта важнее некоторых неудобств, лучше флексить.
Николай Товеровский из Бюро Горбунова проделал большую работу — выделил и описал приёмы флекса (за что ему большое спасибо). Представляю «выжимку» из его работы со ссылками на статьи.
Виды флекса:
1. Зафиксировать
![](http://shklyar.ru/stream/img/fix.png)
Часть системы делается статичной, её невозможно изменять или настраивать, поведение определяется заранее запрограммированным алгоритмом.
Подробнее
2. Снизить управляемость
![](http://shklyar.ru/stream/img/low-upravl.png)
Систему делают менее управляемой, но не жертвуют качеством и работоспособностью.
Подробнее
3. Уменьшить глубину проработки
![](http://shklyar.ru/stream/img/low-prorab.png)
Работа ведётся только над тем, что необходимо для решения задачи.
Подробнее
4. Рассогласовать
![](http://shklyar.ru/stream/img/rassogl.png)
Изменяют только необходимую часть системы, игнорируя рассогласование с другими частями.
Подробнее
5. Убрать в гаражик
![](http://shklyar.ru/stream/img/garage.png)
Неблаговидная часть системы прячется так, чтобы не портила вид.
Подробнее
6. Заменить решение
![](http://shklyar.ru/stream/img/another.png)
Если решение не подходит или его невозможно реализовать в срок, замените решение на другое.
Подробнее
7. Не выходить в надсистему
![](http://shklyar.ru/stream/img/no-upsystm.png)
Решение не затрагивает других частей системы.
Подробнее
8. Отступить от идеала
![](http://shklyar.ru/stream/img/no-ideal.png)
Если реализовать идеальное решение невозможно или нерационально, отступите на шаг назад.
Подробнее
9. Перенести на следующую итерацию
![](http://shklyar.ru/stream/img/next-iteration.png)
Часть функций откладывают на потом.
Подробнее
Сделать говно
![](http://shklyar.ru/stream/img/no-shit.png)
Сделать говно — это не пофлексить.
Подробнее
Флексить — больно. Если есть возможность обойтись без флекса — лучше её использовать. Если же поджимает время или ограничен бюджет, приходится флексить. Такова суровая реальность.
Лучше синица в руках, чем журавль в небе. Мы помним, что такой инструмент как флекс существует и умеем им пользоваться.