Ревизия проекта табло теннисного матча 0:00 Проект написан на Java без фреймворка, использует H2 в качестве БД, HTML, CSS для интерфейса. Мотивация проекта: попробовать MVC без фреймворка и сложную бизнес логику.
Архитектура и дизайн проекта 4:51 Используется NVC подход, контроллеры, сервисы, модели, сущности. Структура проекта: контроллеры отдельно, модели отдельно, сущности отдельно, сервисы отдельно. Замечания: избыточность кода, отсутствие иконок, пагинация без информации о количестве элементов и страниц.
Код и замечания 9:43 Класс NewMatchStarter является точкой входа для создания нового матча. Сервис MatchService отвечает за хранение и управление матчами. Сервис является синглтоном, что нарушает принцип инкапсуляции. Класс Server отвечает за показ списка матчей и поиск по игроку. Замечание: использование Hibernate для поиска по имени игрока, вместо использования Select.
Проблемы с кодом 13:41 Видео обсуждает проблемы с кодом, связанные с фильтрацией данных и пагинацией. Автор предлагает использовать запросы для фильтрации данных и использовать лимит и смещение для пагинации.
Проблемы с логикой подсчета очков 21:29 Автор критикует логику подсчета очков, которая реализована в одном классе и содержит много сложной логики. Предлагается разбить логику подсчета очков на отдельные блоки, чтобы сделать код более понятным и удобным для тестирования и изменения.
Переписывание кода 26:24 Автор предлагает переписать код, разбив логику подсчета очков на отдельные блоки и классы. Это позволит сделать код более понятным, тестируемым и гибким для изменения в будущем.
Счет в матче 27:21 В видео обсуждается счет в матче, который состоит из двух игроков и имеет массив для счета каждого игрока. Счет игрока может быть 0 или 1, и каждый элемент массива знает свой следующий элемент. Метод pointOne используется для обновления счета игрока в зависимости от его текущего состояния.
Тестирование и документация 31:16 В видео обсуждаются тесты, которые проверяют логику подсчета очков в матче. Тесты описывают различные сценарии развития матча и проверяют каждый шаг. Тесты также могут служить дополнительной документацией для кода.
Реализация интерфейса 37:05 В видео автор обсуждает реализацию интерфейса верстки без использования зависимостей. Он использует Flexbox для создания таблицы и подчеркивает преимущества этого подхода.
Рекомендации по улучшению 38:04 Автор рекомендует улучшить реализацию подсчета очков в матче, разбив его на блоки и используя тесты для покрытия логики. Он также предлагает использовать локальные переменные вместо полей для работы с коллекциями матчей.