Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Рефакторинг: лайки → оценки #31

Merged
merged 44 commits into from
Feb 16, 2024
Merged

Conversation

vvbakhanovich
Copy link
Owner

В таблице film_like было добавлено целочисленное поле rating. При лайке фильма пользователь может поставить оценку от 0 до 10 (0 - пользователь решил не ставить оценку).
Были изменено поле long likes на double rating в Film и FilmDto. Рейтинг фильма рассчитывается как среднее арифметическое (сумма рейтингов / количество пользователей, оценивших фильм).
В предыдущей версии пользователь мог ставить несколько оценок одному и тому же фильму. Теперь при повторном лайке обновляется оценка, которую поставил пользователь. Написаны тесты.
Обновлен алгоритм получения рекомендаций. Для рекомендаций выбирается пользователь с наилучшим совпадениям по оценкам одних и тех же фильмов. Написаны тесты.

…ating

# Conflicts:
#	src/main/java/ru/yandex/practicum/filmorate/dao/FilmStorage.java
#	src/main/java/ru/yandex/practicum/filmorate/dao/impl/FilmDbStorage.java
#	src/main/java/ru/yandex/practicum/filmorate/service/impl/UserServiceImpl.java
# Conflicts:
#	src/main/java/ru/yandex/practicum/filmorate/controller/FilmController.java
#	src/main/java/ru/yandex/practicum/filmorate/dao/FilmLikeStorage.java
#	src/main/java/ru/yandex/practicum/filmorate/dao/impl/FilmDbStorage.java
#	src/main/java/ru/yandex/practicum/filmorate/dao/impl/FilmLikeDbStorage.java
#	src/main/java/ru/yandex/practicum/filmorate/service/impl/FilmServiceImpl.java
#	src/main/java/ru/yandex/practicum/filmorate/service/impl/UserServiceImpl.java
#	src/test/java/ru/yandex/practicum/filmorate/storage/FilmDbStorageTest.java
#	src/test/java/ru/yandex/practicum/filmorate/storage/UserDbStorageTest.java
Copy link

@mysosnovskaya mysosnovskaya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделала ревью. Основные замечания, конечно, по алгоритму. В целом он понятен, при желании можно с ним разобраться, но я всё равно рекомендую ещё поработать над кодом. Для будущего точно будет полезно) Обязательно разбить на методы (если возникнут трудности, то можно прийти ко мне в личку, вместе подумаем), изменить названия некоторых переменных, изменить подход к комментированию.

В остальном коде никаких критичных замечаний нет, однако я всё же рекомендую внести предложенные изменения, т.к. они приближают код к коду реального проекта. Если есть вопросы/аргументы/ответы, то их лучше написать в ответ на мой комментарий в ПРе.

После завершения работы над ПРом, нужно сообщить мне об этом в личку) Приду и посмотрю ещё раз :)

Copy link

@mysosnovskaya mysosnovskaya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

На мой взгляд, уже стало сильно лучше =) Написала ещё некоторые предложения по улучшению. Думаю, после них уже будет финальное ревью.

Copy link

@mysosnovskaya mysosnovskaya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

На мой взгляд, код стал значительно понятнее) Хорошая работа!

@vvbakhanovich vvbakhanovich merged commit 2e76784 into develop Feb 16, 2024
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants