↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
ReFeRy Онлайн
22 января 2022
Aa Aa
#внутренности_фанфикса #будни_админа #веб_разработка #конкурсы_на_фанфиксе

За последние годы конкурсы это самый часто изменяемый раздел сайта. Причем изнутри он постоянно меняется кардинально. Разделу уже больше 10 лет, но до недавнего времени у него не было даже своей библиотеки, его функции висели в общей библиотеке фанфиков. Осенью создал отдельную библиотеку, и вот сейчас она уже разрослась до 137 кб кода, 3265 строк, 82 функции. Файл конкурсных ajax-функций разросся до 87 кб, 2326 строк, 42 функции. И ещё есть основной файл раздела конкурсов - 54 кб, 1403 строки, 29 функций. И это при том, что я постоянно провожу рефакторинг кода, избавляюсь от дублирования, которое норовит появиться при любых поспешных доработках.

Главная страница конкурса, в зависимости от типа конкурса, может отобразить:
- просто список фанфиков для фестов,
- два типа списков миниатюр (это самые первые типы конкурсов, давно не используются),
- список артов для голосования (старый формат конкурса),
- список номинаций для голосования,
- список номинаций, когда голосование уже завершилось,
- список номинаций с артами,
- список команд для фандомной битвы.

Сложность в том, что до Лиги Фанфикса не было конкурсов, в которых одновременно были бы номинации текстов и номинации артов. Существующие функции не умеют выводить и то и то на одну страницу. Было бы просто, если бы одну номинацию выводила одна функция, включая запрос данных из БД, но ведь у меня все запросы оптимизированы, у меня сначала выбираются из БД все работы конкурса, потом уже скрипт формирует html для номинаций. Поэтому я сегодня пять часов рефакторил код, выделяя и оптимизируя несколько запросов, выделяя функции, генерирующие html-код одной номинации. Осталось ещё чуть-чуть и я смогу создать новый тип конкурса, где двумя запросами выберу из БД фанфики+арты, а потом циклом выведу html для всех номинаций любого типа, стоящих в любом порядке. И всё это без дублирования кода.

Правда, что-то я как-то подустал за эту рабочую неделю.
22 января 2022
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть