Ivansuper
Или иногда вставляю _ для читабельности. Но стараюсь однословить
Anonymous
а если нет логического смысла, например название "Личный кабинет" - "личный.кабинет" как то не очень смотрится
открой плеймаркет в браузере, понажимай на приложения и посмотри в адресной строке названия пакетов
Anonymous
это будет тебе примером
Ivansuper
Или ты про что то вроде com.company.imageviewer?
Ivansuper
посмотри вопрос
Пакета. Не апп айди
Denys
возможно нубский вопрос, каков формат названия пакета содержащего два слова? qqqWWW или qqq_www или qqq-www?
https://google.github.io/styleguide/javaguide.html#s5.2.1-package-names https://developer.android.com/kotlin/style-guide#package_names
Anonymous
Пакета. Не апп айди
Я понял вопрос так: если приложения содержит название из 2 слов, то как назвать пакет? com.site.pukankota, com.site.pukanKOTA, com.site.pukan_kota
Ivansuper
https://google.github.io/styleguide/javaguide.html#s5.2.1-package-names https://developer.android.com/kotlin/style-guide#package_names
Забавно, что там писано префиксы это не стиль гугла, но в сорцах поголовно они есть
Nikita
https://google.github.io/styleguide/javaguide.html#s5.2.1-package-names https://developer.android.com/kotlin/style-guide#package_names
спс, нашел ответ по первой ссылке, вопрос предлагаю считать решенным
Ivansuper
mMember
Anonymous
For example, com.example.deepspace, not com.example.deepSpace or com.example.deep_space
Denys
Да оно
Потому что AOSP имеет другой стайл гайд.
Denys
https://source.android.com/setup/contribute/code-style > Note: These rules are intended for the Android platform and are not required of Android app developers. App developers may follow the standard of their choosing, such as the Google Java Style Guide.
Denys
Ну такое
Так исторически сложилось. 🤷‍♀️
Ivansuper
Не спорю
Denys
Жека Вортанов как-то об этом писал.
Denys
https://jakewharton.com/just-say-no-to-hungarian-notation/
Ivansuper
Мне удобно лишь в том плане, что коллизий имен нет. Кроме m* ничего другого не извращаю
Ivansuper
Правда например при генерации сеттеров и геттеров студия выдает говно с m
Сергей
Даладно. Вроде генерила getField, bез m
Dug
Даладно. Вроде генерила getField, bез m
Как в настройках сделаете, так и будет
Ivansuper
getmField()
Anonymous
getmField()
Лезь в настройки, там все плохо у тебя))
Vitaly
Почему, когда я пишу jUnit тесты JSONObject из пакета org.json ругается на любую строку? На Android устройствах и эмулятора всё норм
Ivansuper
Может перекочевало с миграцией настроек при обновлении со времен хрен знает какой версии
Ivansuper
Всё новенькое
Это зависит от того кто когда студию начисто ставил
Vitaly
потому что JSONObject это часть Android
Да ну? Вроде джавовская
Ivansuper
Мне нравится как люди используют да ну и да ладно с вроде
Алексей
Vitaly
Проверьте)
Проверил
Алексей
И как?
Denys
Да ну? Вроде джавовская
javax.json - JDK org.json - Android SDK
Vitaly
И как?
Нигде не могу найти инфу, что это из Android (
Denys
Нигде не могу найти инфу, что это из Android (
Перейдите на исходный файл и посмотрите путь до него. :)
Алексей
Нигде не могу найти инфу, что это из Android (
Загляните в Android SDK и в JDK. Или поверьте на слово)
Vitaly
Ничоси, действительно) Спасибо А как в таком случае работать с JSON, если я хочу тестить эту часть с помощью jUnit? Использовать javax?
Denys
Robolectric
Vitaly
Robolectric
И тащить его в jUnit? Ну это зашквар мне кажется
Vitaly
Или так реально все делают и это норм практика?
Алексей
И тащить его в jUnit? Ну это зашквар мне кажется
он исключительно для этого и предназначен)
Vitaly
Значит юзаю Robolectric, спасибо
Ivansuper
Мне нравится что все топят за чистейшие архитектуры, но без костыльных моков код не протестить
Denys
И тащить его в jUnit? Ну это зашквар мне кажется
Вот тут есть как начать https://developer.android.com/training/testing/unit-testing/local-unit-tests
Ivansuper
Потому что в коде осела зависимость на платформозависимые объекты
Ivansuper
Ну понятно. Вариативность состоит в брендах костылей)
Denys
Потому что в коде осела зависимость на платформозависимые объекты
Не уверен, что вы совсем верно понимаете суть clean architecture, в таком случае.
Denys
Как вы реализуете взаимодействие с устройством, не испульзуя SDK?
Mike
итак, нужно убедиться, что по клику на кнопку уходит броадкаст :)
Mike
❤️
Ivansuper
А где написание своих броадкастов и вот это вот все?
Ivansuper
Давайте тоже будем честными, что толку от тестов выполненных с мокнутой платформой на ПК будет отличаться от тестов на устройстве. Даже после роболектриков может придти какой нибудь сяоми и орнуть вам в лицо здраааасссььте
Ivansuper
Тогда нужен xiaomilectric
Mike
А где написание своих броадкастов и вот это вот все?
на самом деле, свой броадкаст — это функция. Подменить функцию, которая передаётся в функцию, проще простого
Mike
понятно, что придёт сосунг и сломает VM, но это уж совсем угловой случай
Mike
Подмена поведения и не правдоподобный тест?
правдоподобный, просто он тестирует чистую функцию, а не моки и прочую наркоманию
Ivansuper
Ну ок
Сергей
если метод запустился, не упал и хоть что то вернул - это уже класс.
Denys
Ну ок
Детальнее можна ознакомится, загуглив test piramid.
Vitaly
Супер, как и ожидалось Robolectric запускает класс Application + грузится по минуте))) Нафига тогда вообще JUnit тесты?
Denys
Детальнее можна ознакомится, загуглив test piramid.
Или читать до просветления. :) https://developer.android.com/training/testing/fundamentals?hl=en#write-tests
Vitaly
Вероятно, вы что-то не то делаете.
Чисто по докам, импортнул библиотеку и прописал RunWith
Denys
В сеть где-то ходите?