Как разбирать проблемы в коде?
Сегодня на курсе разбирал проблему с JS-скриптом, и вдруг понял, что при разборе практически любой проблемы я делаю одно и то же.
Представьте, вы кликаете на ссылку. Что происходит дальше?
1. Отправляется запрос на сервер. ⤵️
2. Выполняется код контроллера. ⤵️
3. Контроллер вызывает метод сервиса.⤵️
4. Сервис обращается к репозиторию.⤵️
5. Репозиторий формирует SQL-запрос в базу данных.⤵️
6. База возвращает данные обратно в репозиторий.⤵️
7. Репозиторий передаёт их сервису.⤵️
8. Сервис возвращает данные контроллеру.⤵️
9. Контроллер отправляет результат в веб-интерфейс.⤵️
Это как доставка посылки: вы забираете её из пункта выдачи и возвращаетесь домой.
Данные — это ваша "посылка", а маршрут — это выполнение кода программы.
Важно знать этот маршрут и контрольные точки, через которые проходят данные 🗺.
Контрольные точки — это методы в коде, и на каждой из них данные могут изменять свой вид. Например:
🃏 Запрос — это JSON.
🃏 В контроллере данные преобразуются в объект DTO.
🃏 В сервисе — это уже сущность (Entity).
Понимание того, как выглядят данные на каждой контрольной точке, помогает быстро обнаружить место, где что-то идёт не так.
Итак, чтобы эффективно находить проблемы:
1. Поймите маршрут потока данных.
2. Определите ключевые контрольные точки.
3. Проверьте, как данные меняются на каждом этапе.
Следуя этому алгоритму, разбор любой проблемы становится намного проще.
Будь у меня волшебная кнопка, я бы насильно впихнул эту простую истину в каждую голову.
Я часто вижу как ребята не пользуются этими простыми правилами и прыгая растерянно от класса к классу выглядят как потерявшиеся телята на незнакомом пастбище.
Post #257
450

- 🔥 11
- 👍 3
- ❤ 2