All streams
Search
Write a publication
Pull to refresh
4
0
Михаил Панчуков @jericho_code

Программист Android

Send message
Или зачем делать ретроспективу, если у вас каждодневные митинги...
На ретроспективе обычно обсуждают другое — проблемы с которыми столкнулись в спринт, почему успели\не успели, процессы в команде и т.п. А дейлики это скорее для синхронизации команды. Знания о чем говорят на ретро может стать неплохим «слепком» состояния дел в команде. Но это конечно если вам ответят честно)
Если смотреть на этот процесс как бы снаружи, то здесь единственное отличие от Java — отсутствие ключевого слова new при вызове конструктора.

Можно вспомнить про возможность передавать именованные параметры в конструкторы и функции. Полезно если несколько параметров опциональные и нужно передать значение для 2 или 3го (например какой-нибудь вызов joinToString(prefix = "")). Taк же может помочь в ревью, когда в метод\конструктор передаются однотипные данные а подсказок студии нет(к примеру пачка true\false)
class User(val name: String, val age: Int)
// порядок передачи параметров уже не важен
val mike = User(age = 25, name = "Mike")
Напоминает «1984», где партия упрощала язык общения, чтобы на нём не возможно было «инокомыслие»
Ну тут вопрос отдельного приложения, мы проанализировали пользователей, ниже 4.4 не было — мы подняли версию (приложение нишевое, так что «знаем каждого пользователя в лицо»). А вообще тема холиварная, я бы с удовольствием поддерживал все версии (или скорее предпочел чтобы все были на последних 2х), но эт довольно «дорого», так что приходится идти на компромиссы(
минималка 4.4, так что необходимости нет)
Думаю Вы немного не правильно поняли автора статьи. В его случае конечной средой выполнения его рабочих программ был как раз компьютер. В случае андроид разработки для применения этого принципа Вам стоит запустить своё приложение на слабом андроид девайсе.
По схожей концепции для теста андроид приложения на работе использую древний Huawei на 4.4 — если на нём приложение работает без тормозов, то с высокой вероятностью и у других оно будет работать хорошо. Бывали реальные случаи, когда мощные устройства «съедали» баги связанные с производительностью
Стоит отметить что data классы содержат реализации методов equals, hashcode, toString и componentN (для расщепления классов), так что на java ваш класс был бы еще больше. Что важно эти методы реализованы разумно, и разработчики языка учли множество подводных камней при их реализации.
Не знал, что можно настроить подсветку именно для Kotlin Android Extensions, спасибо!) К сожалению, комментария yanex еще не было, когда я писал свой (мой проходил модерацию)
Не согласен с Вами, учитываю, что вы не объявляете нигде переменную вьюхи в коде, другой стиль именования делает её визуально отличной от остального кода, проще разобраться, сразу понятно что это вьюха и т.п
Считаю, что GUI напротив достаточно важен для школьников. Создать достаточно простой интерфейс не сложно, за месяц в школе вполне можно научится базовым вещам (в старших классах). Интерфейс позволяет «потрогать» результат своих трудов, это может быть дополнительной мотивацией в изучении. Из своего опыта могу сказать, что когда мне показывали в школе как кодить на паскале я не особо понимал как от текста в консоли перейти к обычным программам, которыми я пользовался, и тогда программирование казалось чем то более сложным, чем оно есть на самом деле.
Такое сравнение допустимо: если одно из слагаемых будет равно null, то результат будет равен false. А вот null == null, ожидаемо вернет true.
Мне кажется было бы удобно, если бы Вы время от времени вставляли ссылки на определенные минуты из доклада, чтобы можно было переходить из текста на конкретный момент в видео, т.к некоторые моменты проще понять из видео, а некоторые из текста.
Я бы в классе ProfileViewModel в методе onChanged заменил «if (loggedIn!!)» на «if(loggedIn == true)», чтобы не было НПЕ, а в случае если loggedIn == null считалось бы, что пользователь не залогинен.
Мой комментарий — это просто небольшое уточнение, чтобы не было лишних нападок в сторону языка. Уже не раз видел как Kotlin в минус ставят jvm 6)
«Kotlin выполняется на jvm 6» — уже можно и на 8, а за статью спасибо, как раз начинаю свой проект, некоторые мысли из «мотивации» были кстати.
В Android Studio пройдите по пути File -> Setting -> Editor -> Colors&Fonts -> Kotlin. На открывшимся экране создайте собственную Scheme, кликните на элемент, цвет которого хотите изменить (Например, Annotation). Справа от списка вы увидите поле для выбора цвета, чтобы его поменять уберите галочку «Use inherited attributes» и вы сможете выбрать любой цвет из палитры. Думаю, что в Intellij Idea будет примерно такой порядок вещей.
Имхо, в андроиде уже была куча разных подходов к архитектуре MVP, MVI, MVVM, Clean Arhitecture, но многие новички как то кодят и без низ, так что на мой взгляд еще один подход сильно жизнь новичкам не усложнит, и даже скорее наоборот хорошо, что появилось приятное решение из коробки.
На мой взгляд, однонаправленный поток данных сохранится, т.к. модель так же будет принимать интент, которым в случае с текстовым полем может быть callback изменения текста или просто его текстовое значение.
У вас есть возможность прочесть всё уже сейчас, на языке оригинала доступны 5 статей :)
2

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity