Прошло более двух с половиной месяцев с момента работы с phpMyAdmin в рамках GSoC 2018. Эта неделя — последняя неделя кодирования GSoC. Этот пост в блоге представляет собой краткое путешествие о том, что было сделано до сих пор и что осталось.

Значительное количество кода было переработано и преобразовано в модульный код. Хотя кажется совершенно очевидным, что вся кодовая база JavaScript не может быть модульной до окончания периода кодирования, поскольку уже есть некоторые проблемы, связанные с php, которые необходимо решить до начала обновления файлов JavaScript, связанных с этими файлами php, поэтому что новый код можно протестировать хотя бы один раз в процессе разработки.

Прогресс до сих пор

Почти 70% кодовой базы было преобразовано в модульный код. На начальном этапе проекта созданный запрос на вытягивание стал очень сложным для просмотра, предложения изменений и проверки отдельных функций, поэтому запрос на вытягивание был разбит на несколько непрерывных запросов на вытягивание, основанных на отдельных функциях или изменении файла.
Но эти пулл-реквесты были в продолжении, поэтому на тот момент не было уверенности, что слияние этих пулл-реквестов что-то сломает или нет, поэтому я предложил создать новую ветку в основном репозитории, чтобы объединить все эти непрерывные пулл-реквесты и сразу переработанный код тестируется в этой ветке, эту ветку можно объединить с мастером, чтобы убедиться, что ничего не ломается в мастере.

После этого изменения в методе проверки несколько запросов на включение были объединены, и было создано много новых запросов на включение для слияния в новую ветку. Вот некоторые из запросов на вытягивание:
Mod_Js_Config (объединенный), Mod_Js_Server_Privileges (объединенный), Mod_Js_Console ( Объединено), Mod_Js_Server_Status (объединено), Mod_Js_Navigation (объединено), Mod_Js_Import_Export (объединено)

Префикс Mod_Js предназначен для отличия этих запросов на вытягивание от остальных запросов на вытягивание. Все эти запросы на включение были успешно объединены в ветку gsoc-js-refactoring с некоторым нарушением функциональности (упомянутым в самом отдельном запросе на вытягивание).

План на эту неделю

План на эту неделю состоит в том, чтобы преобразовать некоторые файлы, связанные с таблицей, в модульный код. Кроме того, я работаю над некоторыми сценариями сборки, чтобы новый код можно было использовать в производственной версии. Код тестируется в рабочем режиме, чтобы убедиться, что ничего не ломается. Я также попытаюсь реализовать jsdoc для создания документации по коду JavaScript.

План на следующую неделю

Следующая неделя — это неделя документации по работе, проделанной во время периода кодирования Google Summer of Code. Таким образом, основное внимание будет уделяться документированию всего в соответствии с рекомендациями, упомянутыми Google.

Если jsdoc будет реализован без ошибок и в течение периода кодирования, я буду работать над улучшением документации функций, классов и модулей, которые можно разместить на странице разработчика phpMyAdmin.

Что осталось

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

Очистка кода, правильное имя и переименование файлов также являются немногими из оставшихся основных задач. рефакторинг пул-реквестов в master.