Comments 8
Писать свой DI, как мне кажется, тут было лишнее. И ещё: когда вижу в своём любимом Kotlin
return nullАж глаз начинает дёргаться.
Это всего лишь моё мнение, не обязательно правильное. Опыт-то кайфовый и штука прикольная получилась.
Насчёт DI думаю, что ты прав. Я когда пытался проект на много модулей разделить Koin использовал. Но когда обратно к одному модулю вернулся, то решил всё постепенно внедрять, начал с создания UseCase при старте приложения. Подумал, что только для этого не нужно всю библиотеку как зависимость брать (ну и хотелось попробовать самому написать). А потом по необходимости добавил и ViewModel и фабрики.
Про null я думаю, что лучше более информативно делать (стараюсь создавать sealed классы). И блок с получением индекса переписал, разделив на 2 части: одна проверяет, что касание за мёртвой зоной (ранее в этом случае возвращался null, теперь же это просто boolean), а затем идёт получение индекса по координатам.
Очень советую использовать null-safety в Kotlinяке по-максимуму: sealed-class для описания алгебраических типов, они же состояния системы и чистые функции, где `f(n) = y` всегда. Но это из разряда "делай хорошо, а плохо не делай". Поэтому отправляю прямиком к дедушке Влошину: https://fsharpforfunandprofit.com/. Да, это не Котлиняка, но уверен, ты там подчерпнёшь много идей. Твои exhaustive(почти) pattern-matching'и уже обнадёживают. Так держать!
Обалдеть, насколько может же может быть андроид разработка разносторонней, функциональной и удобной, в моём представлении это было совсем по другому, я только начинаю вливаться в процесс, так что, есть чему удивляться, а вопрос, насколько часто ты пользуешься нейронками? И как обстоят дела на рынке с участием их использования?
Нейронками в последнее время стал пользоваться чаще. С их помощью проще искать информацию и её источники. С агентным режимом удобно работать с проектами, но не в качестве писателей кода, а скорее тех, кто проверяет написанное и предлагает улучшения. Наверное, с текущим развитием ИИ они могут и фичи реализовывать, но пока что я им это не доверяю (нравиться мне процесс самостоятельного написания кода и ощущение понимания что и как написано). Про рынок сказать не могу, сам пока что учусь.
Как увидеть иконку, которая спряталась под пальцем? 😁
Мне кажется более элегантным решением было бы сектор круга (разный для правши и левши). А чтобы поместить больше иконок в этот сектор, можно их накладывать друг на друга внахлёст и при наведении пальца раздвигать соседние к краям сектора (естественного с красивой анимацией).
Но это замечание верно, если вообще вся навигация свайпами. Если же открытие меню кликом или удержанием, то круг - ништяк.
Прикольная идея! Успехов!
Спасибо, насче́т сектора думаю можно добавить элемент без действия и изображения (пустой). Ими как-раз можно будет заполнить нижнюю часть. Про наложение друг на друга пока что не думал, так как в моём представлении после некоторого времени просто запоминаешь где что находится и быстро выбираешь. С наложением будет сложнее попадать (так как они будут близко расположены). Но подумаю над таким вариантом.
Как я написал круговой лаунчер на Jetpack Compose: тригонометрия свайпов и системные грабли