Pet-проект
У меня есть pet-проект, на котором тренируюсь в использовании новых технологий. Основной код был написан около полутора лет назад, и недавно решила его пересмотреть. Заметила много моментов, которые можно улучшить, и провела рефакторинг:
▫️ Привела API в соответствие с принципами REST. Было не совсем понятно, для чего нужен тот или иной эндпойнт, из-за не очень логичного разделения методов по контроллерам. Много лишних path variables переделала в request parameters. Итоговый вариант оказался чище и понятней.
▫️ Доработала UI. Добавила datepicker-s и datetimepicker-s там, где раньше был просто текстовый ввод дат. Привела формы и таблицы во всем проекте к единому формату, а также поправила поля в формах, чтобы выглядели одинаково.
▫️ Переделала генерацию ключей для entity. Ранее использовался один генератор для всех сущностей, поэтому при ручном обновлении БД через скрипты приходилось внимательно следить, чтобы не перепутать id сущностей разных типов, иначе возникали ошибки.
▫️ Заметила, что при старте контейнера с базой данных скрипты инициализации отрабатывают довольно медленно. Оказалось, что изначально сгенерированные тестовые данные выгрузила из БД отдельными insert для каждой строки. После объединения строк инициализация пошла гораздо быстрее.
▫️ Провела также рефакторинг классов и методов, которые показались теперь излишне запутанными.
В планах — поднять зависимости до самых новых версий и отрефакторить deprecated код, появившийся за это время.
Post #48
243
- 👍 8