Опенсорц? Статьи? А может лучше…
#тяжёлыйконтент
Программисты любят что-то делать ради вклада в сообщество. О крутых решениях без пиара никто не узнает, возведение в культ отправку на гитхаб низкокачественных пет-проектов я осуждаю, блоги ради нескольких кусков кода вы тоже заводить не станете. Как же помогать людям без всего этого, если есть желание?
На самом деле ответ у всех перед глазами. Почему о нём никто не говорит - загадка. Этот ответ - StackOverflow.
Да-да, там текст не сам по себе появляется, его люди пишут. Сайт в первых строках гугла и посещается миллионами, модерация отлично работает и всё такое. Идеальное место для предложения ваших уникальных решений.
Вы наверное щас думаете что-то вроде "блин, это нужно заходить и отвечать на дурацкие вопросы, в которых сам толком не секу?" - вообще нет!
Прогерство - очень часто про поиск неизведанного. Мы вроде как инженеры, и иногда приходится закопаться в проблеме, с которой никто не сталкивался или которую никто не решил. И если вы просрали час, день или месяц на решение какого-то вопроса, то этим стоит поделиться.
Кто-то уже сталкивался с проблемой? - просто добавь своё решение. А если ты столкнулся с ней впервые, то можно создать вопрос и сразу на него ответить (это возможно прям при создании вопроса, через отдельную галочку).
В отличие от репозитория на гитхабе, для большинства ответов на SO достаточно всего 15 минут, при этом ответ увидят все. Вместо нуля звёзд будет копиться счётчик просмотров и репутации. Объективно ни на что не влияет, но субъективно - каждый апвоут крайне приятен, просто так их не ставят. Этих показателей жутко не хватает на гитхабе, так как звёзды ставят лишь при желании следить за проектом, а своровать кусок кода можно втихую.
В случае больших ответов ты релизишь это не простым для галочки, а реально оттачивая все корнер-кейсы. Твоё решение до и после может оказаться совершенно разным кодом, и даже если казалось, что всё изящно - поймёшь, что может быть гораздо качественнее. Правда, может оказаться, что над улучшениями ты просидел дополнительную неделю, но вместе с этим сильно улучшил стабильность и наконец-то разобрался с Kotlin Multiplatform.
Потихоньку добавляю свой опыт, за 18 месяцев я успел добавил 18 ответов - сейчас у меня 383 репутации, 83к просмотров. Пока всё ещё ощущается будто это немного, но этого хватило, чтобы в апреле появилась плашка "вы в 5% топе по влиянию в 2024-ом". Заскринить не догадался, сейчас её там нет, но блин, всё равно круто же!
Кроме того, это удобная публичная база знаний - можно передавать инфу о реализации коллеге с другого проекта за пару секунд. Делюсь уникальными ответами, на которые ушло больше всего времени:
Полные фрагменты кода - скопируй и вставь
Замена Accompanist Permissions: получение разрешений в Jetpack Compose через одну строку с удобными коллбеками после полной/частичной выдачи или перманентного запрета на доступ (единственное решение, которое работает одинаково отлично на всех версиях Android!!)
Запись/чтение документов при помощи Storage Access Framework
Создание .xlsx таблиц без библиотек
Офигенно удобный Base-класс для работы с Bluetooth Low Energy, совместимый с KMP - с ним можно на изи написать взаимодействие с BLE устройством за час
Фикс косяков
Восстановление работы вечно отваливающегося Wi-Fi ADB
Как создавать рабочие PeriodicWork через забагованный WorkManager (на ловлю крысы у меня ушёл месяц) - внутри параметр, который ни в коем случае нельзя использовать, указание что включать на китайских мобилах чтобы всё точно работало, а также правильное подключение библиотеки через Dagger Hilt
Устранение бага в Compose, из-за которого WindowInsets выдаёт 0dp и интерфейс дёргается при первой отрисовке кадра
Полезное
Добавление action-кнопок в Android Studio - ввод команд в терминал через один клик по небольшой кнопке
Post #126
382