расставила некоторые важные вещи на свои места, сначала я был скептично настроен, но почитав - проникся, а от комментов стало еще понятнее (http://disq.us/p/1f5mcj2). Видимо где-то на пути мне в голову вдолбилось что делать очень абстрактные/общие решения - это как раз зря тратить время и решать больше проблем чем тебе нужно (+ как правило еще и дольше), в сравнении более конкретным решением, и такая интуиция продержалась во мне дольше чем нужно... а эта статья показала совсем обратное. теперь надо следить за реальными примерами в работе, искать правильное время/место для использования подобных абстракций. Есть ли какие-то ссылки на примеры из этой темы? ну типа есть такая-то фича, берем выкидываем ее детали, остается суть которая мапится на какой-то концепт из ФП
У меня есть пример недавний. Была функция, которая работала с набором бизнес специфик сущностей (вытащить задачи в соответствии с разными условиями). Добавляя новый код я заметил, что в нескольких местах делаются похожие вещи. Я это вытащил в отдельные функции и получил набор типовых "алгоритмов" работающих с множествами. Сами эти "алгоритмы" были довольно простыми и понятными. Т.е. в условной функции getIssue(params) вместо case specific кода были другие функции которые дергали всякие intersect и проч.
Обсуждают сегодня