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

Позиционирую себя как Ruby разработчик. Периодически встречаю вакансии/заказы на допиливание Redmine. Стоит ли связываться c ним? Какой порог входа? Не скрывается ли внутри уныние свойственное битриксу или вордпресу?
  • Вопрос задан
  • 2310 просмотров
Решения вопроса 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++ почти с рождения
Могу судить как пользователь. Учитывая, что существует куча форков, в том числе платных, пробовать однозначно стоит. Плохо написанные вещи не должны были бы пользоваться такой популярностью.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы