Почему нужно писать собственные методы для исключений?
Почему же нужно писать собственные методы для исключений и присваивать им уникальные коды?
Ответ на этот вопрос прост - это best practice. Ииииии - посмотрите на первый скрин кода в этом посте! ))) Ну как? 🙃
А теперь посмотрите, на второй скрин - как это выглядит в виде документации в конфлюенсе! 👀
Мне кажется, это огонь костёр пожааааар! 😼
Но, конечно, это нужно аргументировать 🤔
Итак, 🧶 тред о написании своих исключений и почему это ЧЕРТОВСКИ удобно, а ещё великолепно выделит вас из общей среды всех QA-инженеров:
Работа с ошибками - неотъемлемая часть разработки программного обеспечения. В REST API особенно важно грамотно обрабатывать исключения, чтобы клиент мог легко интерпретировать результаты запросов и реагировать на ошибки. Стандартные HTTP-статусы, такие как 404 Not Found или 500 Internal Server Error, предоставляют базовую информацию о результате запроса, однако часто этого недостаточно для точного описания проблемы.
Я достаточно давно практикую этот подход и сейчас расскажу преимущества использования собственных методов для обработки исключений и присвоения им уникальных номеров.
1. Улучшение читаемости При использовании стандартных HTTP-кодов возникают трудности с точной идентификацией причины ошибки.
Например, код 500 Internal Server Error может указывать на широкий спектр проблем, начиная от ошибок в бизнес-логике до сбоев в базе данных.
Введение собственных методов позволяет нам, кьюэйщикам, детализировать причину возникновения ошибки, предоставляя более конкретную информацию. Например, метод ILLEGAL_ARGUMENT_EXCEPTION сразу указывает на недопустимые аргументы, что значительно упрощает диагностику.
👀Смотрим скрин из репы в этом посте.
2. Упрощение локализации ошибок Использование собственных методов и уникальных номеров делает процесс поиска и устранения ошибок более эффективным. Когда каждый тип исключения имеет уникальный идентификатор, инженеры могут быстро находить соответствующую ошибку в логах и коде. Это особенно полезно в крупных проектах, где ошибки могут возникать в различных модулях и компонентах системы.
3. Гибкость и расширяемость Собственные методы позволяют адаптировать обработку ошибок под специфические нужды проекта. В зависимости от требований бизнеса и архитектуры приложения можно добавлять новые типы исключений, не ограничиваясь стандартными HTTP-кодами. Это обеспечивает гибкость и возможность расширения функционала без необходимости изменять существующие структуры обработки ошибок.
4. Обеспечение согласованности Присваивание уникальным номерам каждому типу исключения помогает поддерживать единообразие в обработке ошибок внутри команды QA инженеров.
Все члены команды будут понимать, какой тип ошибки обозначается определенным номером, что уменьшает вероятность путаницы и ускоряет работу над проектом.
Использование собственных методов для исключений и присвоение им уникальных номеров - это мощный инструмент для улучшения качества и надежности REST API. Этот подход повышает читаемость кода, облегчает локализацию ошибок, обеспечивает гибкость и расширяемость, улучшает поддержку и поддерживает согласованность среди членов команды.