Redmine. Стоит ли связываться?

Позиционирую себя как Ruby разработчик. Периодически встречаю вакансии/заказы на допиливание Redmine. Стоит ли связываться c ним? Какой порог входа? Не скрывается ли внутри уныние свойственное битриксу или вордпресу?
  • Вопрос задан
  • 2328 просмотров
Решения вопроса 1
@Tab10id
Болшая часть кода redmine сложно назвать чем-то хорошим. Методы на 50+ строк тут считаются нормой. В проекте тонны легаси-кода. Так как история редмайна началась ооочень давно, когда даже rails еще не был мейнстримом, часть решений redmine стали конфликтовать с аналогичными решениями rails, которые появились несколько позже. Все эти проблемы решаются стандартным для руби способом, манкипатчингом. В итоге нет нормальной поддержки i18n, нет sprockets (подключить костылями можно, но даже после того как оно заведется, проблем будет достаточно), фронт из нулевых (и внешне и внутренне), адекватность внутренней логики часто под большим вопросом, особенно что касается старого кода.
Стабильная версия redmine работает на rails 4.2, но на подходе новая версия с rails 5.2.

Отдельно по системе плагинов. Если коротко, то она ужасна, хоть и работает. По факту плагин мало чем отличается от гема, все происходит в общем нэймспэйсе, как если бы мы просто добавляли код в основной репозиторий. Система предоставляет возможность иметь в каждом плагине собственные миграции и указывать зависимости от других плагинов. Но и ни тем ни другим лучше не пользоваться, если есть такая возможность. Пройденные миграции сохраняются в базу с именем плагина и плагин после этого не переименовать без плясок с бубном. Если миграции имеются в зависимых плагинах, нужно иметь ввиду, что сначала пройдут миграции одного плагина, а потом другого. Порядок загрузки плагинов - по алфавиту, если плагин зависит от другого, но тот еще не загружен, будет исключение. Есть официальный механизм решения этой проблемы, но уже сто лет как не работает, в итоге опять костыли. Хоть в редмайне и есть тесты нет единого решения для тестов в плагинах, опять костыли. В плагинах почти никто не пишет тестов. При этом постоянный манкипатчинг в плагинах меняет поведение редмайна и ес-но ломают оригинальные тесты. Совместимость между плагинами на том же уровне. Для расширения вьюх есть система хуков, но их маловато, поэтому плагины полностью переопределяют вьюхи и партиалы. Очевидно, что если разные плагины переопределяют одни и те же партиалы, выигрывает последний.

Но при всем при этом, так как это руби, обходные пути можно найти почти всегда, положительные тенденции в кодовой базе имеются, хотя и на низком уровне. С минимальными костылями можно переиспользовать систему фильтров как в задачах. Хотя с некоторой кривостью данной сиспридется смириться или долго и мучительно слать пулл-реквесты (которые в случае redmine оформляются в виде задач на redmine.org с прикладыванием патчей).

О себе. 5 лет работаю с redmine, но, так как задачи не связаны напрямую с redmine и rails, особой боли не испытываем. Жить можно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
Занимался EasyRedmine(фултайм), в основном потеря времени и квалификации. Без нужды лучше не связываться.
Ответ написан
Комментировать
@spaceatmoon
Делал простой модуль, при этом ни разу Ruby в жизни не видел. Внутри по ощущениям вроде не булшит. Если знаете Ruby, то я думаю вам будет еще легче. Дерзайте.
Ответ написан
Комментировать
MetaAbstract
@MetaAbstract
Архитектор информационных систем и баз данных. Ful
Хорошая тема. Стоит заниматься.
Остальное технические детали)
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Что вам мешает просто посмотреть код?
Ответ написан
BacCM
@BacCM
C++ почти с рождения
Могу судить как пользователь. Учитывая, что существует куча форков, в том числе платных, пробовать однозначно стоит. Плохо написанные вещи не должны были бы пользоваться такой популярностью.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы