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

I'm tried but i'm tired :) #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

I'm tried but i'm tired :) #1

wants to merge 1 commit into from

Conversation

zulkris
Copy link
Owner

@zulkris zulkris commented Oct 16, 2022

Добрый день тому кто это будет смотреть!

Преамбула!
Я не претендую на доделанность, звание "нормально пулл-реквеста" или корректность всех изменений, однако надеюсь сам факт того что я не стал писать pdf-файлик, а сделал какие-то изменения в коде, сподвинут смотрящего отнестись к сему говнокодингу не так принципиально :)

Основная часть=============
Смотря на код (который к слову смотря, выдран довольно аккуратно), я подумал о двух вещах - при росте данных экспорт будет занимать много времени, и конечно о удобстве добавления новых табличек и то, как они будут выглядеть (экспортироваться) во view (и csv).

По первому - экспорт csv. Тут вариантов немного - или очередь, или делать в фоне (как раз мой вариант) - решил сделать команду которую запускать по крону. Чтобы сие не вылетело по памяти - решил добавлять пачками (о майн гот, генератор даже заюзал). Отдавать тупо этот файлик.
При рефакторе всего этого добра - пришлось закомментить участок кода (считайте сломал логику), т.к. на это ушло бы ещё какое-то время (извиняйте пожалуйста)

По второму - части кода которые можно разнести - разнёс, думаю надо их отправить вo view, но меня всё ещё гложат сомнения по этому поводу. Надеюсь логика рефакторинга тут яснА, интерфейс выделен, каждый "эвент" (так я их назвал) сами отвечают за свой рендеринг (единая ответственность? ну, почти....).

Безусловно, продолжая дальше я как минимум починил бы чтобы оно стало "как было" в моменте экспорта, однако по пути я вспоминал почему ненавижу Yii2 - а именно мешанину логики которая переностися во view (не люблю я фронтенд)

Из доп.вещей - что задеюсь мне зачтётся - я поднял проект прежде чем что-то делать, попутно исправляя разные баги (папочку runtime создать, зависимости подтянуть....), использовал сторонную либу (лень было писать свою, конечно я её проверил сначала), и думаю хороший вариант написать изначальный ActiveDataProvider на SQL, т.к. он очень часто лезет в базу вместо "один раз но много джоинов"

Из грустного - в идеале такие вещи конечно нужно покрыть тестами, и на этом я уже иссяк

Добра Вам, и спасибо за интересное задание!


Захар Стебловский. tg @asic_pro

@zulkris zulkris self-assigned this Oct 16, 2022
@zulkris zulkris changed the title I'm trying but already tired :) I'm tried but i'm tired Oct 16, 2022
@zulkris zulkris changed the title I'm tried but i'm tired I'm tried but i'm tired :) Oct 16, 2022
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.

None yet

1 participant