Задать вопрос
@XaoTikS
Программист-бэкендер. Разработчик на python.

Как понять свой проект на python, построенный по принципам чистой архитектуры, начинающему?

Здравствуйте! Я как начинающий разработчик проектов на python имею много вопросов касательно понимания проекта, который спроектирован по принципам SOLID.
0004bddafcc72ee207fedd2c4d71cf26.png

Да, нарисовал какие слои от каких зависят, но в каждом файле есть свои классы, методы и пр. Как проследить за данными, которые циркулируют по проекту? Стоит ли нарисовать диаграмму каждой фичи - т. е. последовательность методов, в каком порядке они вызываются, какие именно задействованы, чтобы в целом пришло понимание проекта и причём такое, чтобы не забывать через пару дней? И ещё вопрос - да, я также могу признать, что принципы SOLID ещё не отложились в моей голове - значит стоит заучить теорию и набить руку для навыка построения чистой архитектуры на нескольких мизерных проектах?
Подскажите, что и как лучше всего сделать, чтобы понять свой проект. Спасибо

Прилагаю мой проект - репозиторий с GitHub -> https://github.com/xaocit/MyManager.git
  • Вопрос задан
  • 26 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Забей на диаграмму каждого метода — бери один сценарий и трассируй его дебаггером с брейкпоинтами, смотри call stack. Для «добавить транзакцию» примерно так:
ConsoleUI._menu_add() → TransactionService.add() → repository.save_all()
.

Кстати UI у тебя лезет прямо в self.service._transactions, то есть знает внутренности сервиса напрямую — вот это и есть реальное нарушение границ слоёв, а не то как называются папки.

SOLID зубрить не надо, возьми маленький сценарий и попробуй сменить в нём JSON на SQLite. Сразу станет видно зачем нужны интерфейсы и DIP.
Ответ написан
Ваш ответ на вопрос

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

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