Size: a a a

Чат по руби

2021 February 26

N

Nikolay.O in Чат по руби
Всем привет. Проект очень большой и сложный (RoR 4) с легаси кодом (местами такой легаси что ухх, ruby perl стайл). Документация слабая, главный разработчик ушёл, теперь я за него. Посоветуйте как лучше понять, что происходит в коде. Как лучше залогировать всё что происходит ? Может есть готовые инструменты для ведения журнала работы всей системы. Желательно у кого есть такой опыт. Я имею в виду логические цепочки (бизнес процессы), а не rails панель
источник

P

Paul in Чат по руби
Alex
Это уже смотрел, ничего интересного. Но это было через консоль. Переменные в консоли при вызове конечного метода могут же отличаться от переменных в методе, если до него дошли по цепочке?
консоль тут никаким боком.
если у тебя переменные инициализированы в родителе, то они будут инициализированы и в потомке,
источник

P

Paul in Чат по руби
последние две строки моего примера посмотри
источник

N

Nikolay.O in Чат по руби
Nikolay.O
Всем привет. Проект очень большой и сложный (RoR 4) с легаси кодом (местами такой легаси что ухх, ruby perl стайл). Документация слабая, главный разработчик ушёл, теперь я за него. Посоветуйте как лучше понять, что происходит в коде. Как лучше залогировать всё что происходит ? Может есть готовые инструменты для ведения журнала работы всей системы. Желательно у кого есть такой опыт. Я имею в виду логические цепочки (бизнес процессы), а не rails панель
В самом проекте я более менее разбираюсь, но есть такие места, что хватаешься за голову))
источник

P

Paul in Чат по руби
Nikolay.O
Всем привет. Проект очень большой и сложный (RoR 4) с легаси кодом (местами такой легаси что ухх, ruby perl стайл). Документация слабая, главный разработчик ушёл, теперь я за него. Посоветуйте как лучше понять, что происходит в коде. Как лучше залогировать всё что происходит ? Может есть готовые инструменты для ведения журнала работы всей системы. Желательно у кого есть такой опыт. Я имею в виду логические цепочки (бизнес процессы), а не rails панель
начни с таблиц, с файла schema.rb  либо браузера базы данных. поставь гем который рисует диаграммы классов (их два, оба простые). на диаграмме ты увидишь ключевые объекты — те, у которых больше всего связей. дальше смотришь, как они устроены — берешь самый жирный и начинаешь исследовать его ближайшие связи

потом берешь объекты помельче, потихоньку выделяешь для себя так называемые контуры (подсистемы)
источник

P

Paul in Чат по руби
для заказов это может быть сам заказ (самая жирная сущность), строка заказа, клиент, сотрудник, товар.
для хранения это может быть товар, вокруг него склады, накладные, строки накладных, сотрудники и т.д.
источник

P

Paul in Чат по руби
когда дробишь на части логику проще понять, что там наколдовано
источник

SL

Sergey Lapin in Чат по руби
Глицин
Как часто при устройстве на работу вы проходили полиграф ?
Я в двух государственных организациях, из трех букв каждая, отказывался проходить полиграф, это законно. А тут при устройстве на работу в IT хотят. Совсем с дуба рухнули? Я бы не стал связываться с такими работодателями. Полиграф - шарлатанство в чистом виде.
источник

N

Nikolay.O in Чат по руби
Paul
начни с таблиц, с файла schema.rb  либо браузера базы данных. поставь гем который рисует диаграммы классов (их два, оба простые). на диаграмме ты увидишь ключевые объекты — те, у которых больше всего связей. дальше смотришь, как они устроены — берешь самый жирный и начинаешь исследовать его ближайшие связи

потом берешь объекты помельче, потихоньку выделяешь для себя так называемые контуры (подсистемы)
спасибо за подробный ответ. А есть ли способы журналировать бизнес процессы, кроме как втыкать запись в лог в нужных местах ?
источник

P

Paul in Чат по руби
можешь задействовать comunda
источник

P

Paul in Чат по руби
но это сложно и объемно
источник

N

Nikolay.O in Чат по руби
Paul
можешь задействовать comunda
а, знаю, когда-то имел с ней дело)
источник

P

Paul in Чат по руби
ну вот можно ее подвязать и отследив процессы, создать корреспондирующие схемы бизнес-процессов
источник

P

Paul in Чат по руби
это прикольно, но хлопотно в целом
источник

P

Paul in Чат по руби
сколько таблиц в твоем приложении?
источник

N

Nikolay.O in Чат по руби
Paul
это прикольно, но хлопотно в целом
да, очень хлопотно
источник

N

Nikolay.O in Чат по руби
Paul
сколько таблиц в твоем приложении?
> 250
источник

N

Nikolay.O in Чат по руби
ну в общем суть понял спасибо, дробить логику на части, написать тесты на бизнес-процессы, выделять контуры
источник

P

Paul in Чат по руби
большое. советую начать с диаграммы классов, гемы railroady и rails-erd  ставь оба, они легко настраиваются, за полчаса можно поставить все.
источник

N

Nikolay.O in Чат по руби
Paul
большое. советую начать с диаграммы классов, гемы railroady и rails-erd  ставь оба, они легко настраиваются, за полчаса можно поставить все.
👌
источник