
Sergey
09.09.2016
20:17:54
лучше бы мейл сжёг
А в чем конкретно у тебя с мейл были разногласия, ну кроме что они хотели зарабатывать, а ты делать жизнь пользователей проще? Разногласия в фичах, концепциях?

Gregory
09.09.2016
20:18:10
ну и я ещё и не люблю быть не единственным андроид-разработчиком в компании

Stas
09.09.2016
20:18:26
или наоборот...придет чувак, который учился по модным статьям ваш код поддерживать... и увидит код как в телеграме.

Google

Vitaliy
09.09.2016
20:18:31
и будите грустить
Не будем, все зависит от цели и контекста. Котлин я люблю, но очень для специфических целей вроде DSL

Egor
09.09.2016
20:18:33

Gregory
09.09.2016
20:19:00

Stas
09.09.2016
20:19:26
спорно...

Egor
09.09.2016
20:19:33
это тоже по нубски звучит

Stas
09.09.2016
20:19:50
люди, которые пишут все сами, иногда как раз самоутвеждаются

Egor
09.09.2016
20:20:03
код надо писать что бы его понимали другие люди, а работать может и говнецо редчайнее

Stas
09.09.2016
20:20:05
был у нас в проекте чувак, который на php без фреймворков писал

Gregory
09.09.2016
20:20:12
ну так да, так и надо

Stas
09.09.2016
20:20:14
все сам... офигенно работало, все понятно
кек..могу ссылку дать, стартап замутите в двоем

Gregory
09.09.2016
20:20:33
тебе вообще не нужны классы, чтобы сгенерировать чортову строчку HTML

Sergey
09.09.2016
20:20:34

Google

Egor
09.09.2016
20:20:46
не думаю что это сомоутвержнеие - мне кажеться, это тупость - не желание разобраться в уже готовом, признаном продукте, либе, а начивать свои кривые велики делать

Gregory
09.09.2016
20:20:59

Stas
09.09.2016
20:21:09
все люди, которые приходили с опытом работы в проектах не одни, плакали от этого
роутинг на свичах

Gregory
09.09.2016
20:21:19

Stas
09.09.2016
20:21:20
о***но

Gregory
09.09.2016
20:21:36
если что, в серверном коде ВК нет ООП
от слова совсем
всё процедурное
это так, к слову

Stas
09.09.2016
20:21:51
у них были ограничения
и кажется я слышал, что мейл ру испытывали проблемы с понимаем

Gregory
09.09.2016
20:22:14

Stas
09.09.2016
20:22:21
кек...)))
плохо!
ужасно

Gregory
09.09.2016
20:22:28
почему

Stas
09.09.2016
20:22:35
мне кажется нас тролят
я ушел

Gregory
09.09.2016
20:22:41
лол

Google

Egor
09.09.2016
20:22:49
это что-то из серии, я так круг что я складываю замки из спичек, вот один у меня, 10 лет делаю, показали по местому телеку, все четко и красиво, но это не промышленный мастаб, это хобби и совсем не профессионализм

Gregory
09.09.2016
20:23:11
нет, я просто как человек, не обременённый стереотипами, искренне интересуюсь, как оно там у вас, умудрённых опытом, работает

Egor
09.09.2016
20:23:30
я бы не взял сейчас себе в проект прогера, который не знает даггер и котлин

Gregory
09.09.2016
20:23:48
я бы никогда не пошёл в компанию, где это всё используется

Egor
09.09.2016
20:24:20
потому что нету времени, на проекте в 100500 строк кода, не понимать как инжектяться зависимости и смотреть на это как на черную магию

Stas
09.09.2016
20:24:25
вот

Egor
09.09.2016
20:24:39
я сам кривовукий программист и не кого не хочу обидеть, но надо все время работать над собой и учится

Nikolay
09.09.2016
20:25:37
Просто абстрактная картинка.

Gregory
09.09.2016
20:26:25
зато в тех, которые не используют, всё красиво и понятно

Egor
09.09.2016
20:27:11
ну если ты не понимаешь пользы всего этого дерьма, это же не означает что оно там чтобы усложнить жизнь

Egor
09.09.2016
20:28:43
вот для примера немного кода из моего проекта
class MarketFragment @Inject constructor() : BaseListView() {
@Inject lateinit var adapter: MarketAdapter
@Inject lateinit var marketProvider: IMarketProvider
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
(activity.application as App).sessionComponent.inject(this)
super.onViewCreated(view, savedInstanceState)
list.adapter = adapter
marketProvider.syncTickers()
}
}
вот тут я считаю - все красиво, кратко и понятно

Gregory
09.09.2016
20:29:22
что это вообще

Egor
09.09.2016
20:29:25
и причем это полностью рабочий код, который на обычный джаме без даггера раздулся бы в раза 3-4

Gregory
09.09.2016
20:29:26
это даже не джава

Stas
09.09.2016
20:29:33
(activity.application as App) можно было бы не писать, сделав статик ссылку внутри App

Egor
09.09.2016
20:29:34
котлин

Stas
09.09.2016
20:29:40
кек..ты на 1.6 кодишь?

Google

Sergey
09.09.2016
20:29:42

Gregory
09.09.2016
20:29:44
я не говорю на котлине, сорян

Egor
09.09.2016
20:30:03
не важно, тут и даггер 2 есть
@Inject lateinit var adapter: MarketAdapter
без даггера
var adapter = MarketAdapter()

Gregory
09.09.2016
20:30:51

Egor
09.09.2016
20:31:12
меньше кода - меньше ошибок

Stas
09.09.2016
20:31:38
как вариант можно еще сделать Lazy<Adapter>и вызывать после отрисовки фона экрана, что-бы она была быстрее

Admin
ERROR: S client not available

Egor
09.09.2016
20:31:48

Stas
09.09.2016
20:32:12
1 строка меняет ленивую инициализацию на обычную и наоборот

Egor
09.09.2016
20:32:38

Ilnar
09.09.2016
20:32:48
https://github.com/artem-zinnatullin/qualitymatters

Stas
09.09.2016
20:32:52
просто пример

Gregory
09.09.2016
20:32:59
а почему ленивая инициализация так нужна всем и везде?
я вот в приложении ВК её использовал весьма мало, например

Stas
09.09.2016
20:34:40
у него тесты в travis
это же огонь

Google

Egor
09.09.2016
20:36:01

Vitaliy
09.09.2016
20:38:20
Я не знаю даггер, знаю Котлин, и мне это не понятно
Не понятно, как этот инжект работает
По поводу серверного кода -- это было еще и до мейла
И да, он выглядит намного чище и аккуратнее, чем с ООП

Gregory
09.09.2016
20:39:04

Vitaliy
09.09.2016
20:39:25
И зависимости от чего-то ещё меньше, меньше шанс что-то сломать

Ilnar
09.09.2016
20:39:31
https://engineering.instagram.com/instagram-android-four-years-later-927c166b0201?gi=81f5e7db9196#.g56mo9l1v
В Инстаграме тоже нет DI

Stas
09.09.2016
20:39:53
в компил тайме строит дерево зависимостей по всем аннотациям и генерит методы которые внутри inject возращают объекты

Vitaliy
09.09.2016
20:40:08
Я, честно говоря, вместо ДИ флейворы бы юзал
И синглтоны-интерфейсы, если надо что-то в рантайме делать
Это как минимум очевиднее и понятнее, плюс быстрее

Roman
09.09.2016
20:40:57

Vitaliy
09.09.2016
20:41:27

Gregory
09.09.2016
20:41:31
эти примеры не добавляют коду понятности

Vitaliy
09.09.2016
20:42:00
Просто непонятно, что под капотом происходит

Stas
09.09.2016
20:42:10
все прозрачно
заходишь в папку build и читаешь что тебе нагенерили
в 2016 странно это не знать

Vitaliy
09.09.2016
20:42:45
И никак это не контролируешь?

Gregory
09.09.2016
20:42:51