You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Сейчас в коде, который отвечает за пагинацию, всё очень хрупко. Есть и откровенно странные штуки вроде константы, объявляемой посреди тела функции - ну не делают так! Ещё напрягают магические числа вроде 8/3 и 4/7там и здесь.
И вот эта функция вроде и обособлена, но на деле глубоко завязана на двукратно вложенный объект в роли аргумента. Это сильно усложняет тестирование. А тестировать надо бы! Особенно после отлова бага #111.
Предлагаю переделать функцию так, чтобы она возвращала только paginator а возвращала объект slice. Такое тестировать уже сильно проще: пагинатор легко замокать, а слайсы легко сравнивать. 8 и 3 нужно выразить либо одно через другое, либо через отдельный параметр функции, который передавать из константы в классе. Точно так же нужно передавать и VISIBLE_AT_BOUNDARY - чтобы класс, к которому примешивается пагинация, мог ею управлять. И шаблон нужно так изменить, чтобы никакие 4 и 7 в нём не фигурировали, а брались из класса же (или вычислялись бы на основе его полей).
The text was updated successfully, but these errors were encountered:
Сейчас в коде, который отвечает за пагинацию, всё очень хрупко. Есть и откровенно странные штуки вроде константы, объявляемой посреди тела функции - ну не делают так! Ещё напрягают магические числа вроде 8/3 и
4
/7
там и здесь.И вот эта функция вроде и обособлена, но на деле глубоко завязана на двукратно вложенный объект в роли аргумента. Это сильно усложняет тестирование. А тестировать надо бы! Особенно после отлова бага #111.
Предлагаю переделать функцию так, чтобы она возвращала только
paginator
а возвращала объектslice
. Такое тестировать уже сильно проще: пагинатор легко замокать, а слайсы легко сравнивать.8
и3
нужно выразить либо одно через другое, либо через отдельный параметр функции, который передавать из константы в классе. Точно так же нужно передавать иVISIBLE_AT_BOUNDARY
- чтобы класс, к которому примешивается пагинация, мог ею управлять. И шаблон нужно так изменить, чтобы никакие4
и7
в нём не фигурировали, а брались из класса же (или вычислялись бы на основе его полей).The text was updated successfully, but these errors were encountered: