These are chat archives for rus-speaking/android-off-topic

24th
Mar 2016
geek77
@geek77
Mar 24 2016 05:21

```var toString = {}.toString;

module.exports = Array.isArray || function (arr) {
return toString.call(arr) == '[object Array]';
};```

модуль для ноды
18 млн скачиваний в месяц
зомг
Olzhas Ilyubayev
@hondrus
Mar 24 2016 05:26
@geek77 это модуль, который проверяет является ли массив массивом?
geek77
@geek77
Mar 24 2016 05:27
да
Toporik
@Toporik
Mar 24 2016 06:42
"нахуй так жить" ))
geek77
@geek77
Mar 24 2016 07:42
"модульное тестирование полностью снимет отладку с повестки дня. Если требуется отладка, значит программа спроектирована плохо."
норкоманы какие, а
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 11:59
@elkyzmich ну не 100 лет, а не так давно, и да, оно
geek77
@geek77
Mar 24 2016 12:43
" В США из-за ошибки на картах Google Maps снесли не тот дом. "
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 12:46
"Американцы тупые"
geek77
@geek77
Mar 24 2016 12:47
"баги в софте - ничего страшного, это не медицина же"
" var в Java быть."
капец
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 12:58
var в Java? Ура!) такая для еня боль после шарпа указывать переменной её тип..
Roman
@Nuclominus
Mar 24 2016 12:59
:smile:
geek77
@geek77
Mar 24 2016 13:00
@BOOMik фуфуфу
портить, так уж по полной - вводом оператора :=
гг
Dmitriy Zaitsev
@DmitriyZaitsev
Mar 24 2016 13:12
ну val в Java есть уже давно, например. :trollface:
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:26
@geek77 в lombok?)
А чем var плох?) без инициализации объект через var не создать, а с инициализацией и ты сам и компилятор-знают какой там объект будет. И нельзя его менять, по сути это просто сахар синтаксический.
Toporik
@Toporik
Mar 24 2016 13:31
цеж оракл теперь все будет скатываться в сраное гавно
Dmitriy Zaitsev
@DmitriyZaitsev
Mar 24 2016 13:31
@BOOMik ага)
geek77
@geek77
Mar 24 2016 13:32
var a = SomeObject.getSome().
что у нас в a ?
:)
Dmitriy Zaitsev
@DmitriyZaitsev
Mar 24 2016 13:34
Cup<Coffee> cupOfCoffee = new Cup<Coffee>();
что у нас в чашке?
Toporik
@Toporik
Mar 24 2016 13:35
соссно в статье не хабре и говорят что нагрузка на правильное именование возрастает.
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:35
@geek77 то, что возращает getSome()
geek77
@geek77
Mar 24 2016 13:36
@BOOMik отличный ответ. Вот у меня на ревью код вот с таким. Чо делать? %)
хорошо что есть умные IDE
но если код нельзя прочесть без IDE - то это уже беда :(
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:37
@geek77 ну во 1 да- IDE поскажет, во 2 - кто мешает посмотреть метод getSome? У него прописан возвращаемый тип
@geek77 ну и за такое наименование SomeObject.getSome() надо по рукам бить)
takigava
@takigava
Mar 24 2016 13:38
@geek77 Ииии???Ты попробуй любой корпоративный проект на C# открыть....Слои, интерфейсы и var...
Мелочи всё это у вас...
Радуйтесь что у вас нет типа dynamic в коде)))
geek77
@geek77
Mar 24 2016 13:38
ну getSome - условно. Может и человеческое название быть. Вроде getGeometry() - ок, да?
а оно может возвращать rect или point
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:39
 var photoToLoad = new PhotoToLoad(url, imageView, size, loadedAction);
 var bitmap = _mMemoryCache.Get(url);
Думаю сразу ппонятно что хранится в var =)
@geek77 так ведь можно и переменные называть с указанием типа)
если что не понятно
geek77
@geek77
Mar 24 2016 13:40
можно, да. Я не за свой код беспокоюсь. Я беспокоюсь за то, что придется читать чужой с таким вот var a = some.wtf()
takigava
@takigava
Mar 24 2016 13:40

@geek77 Вот тебе на ревью)))

_data.Cast<dynamic>().Where(s => s.id == _formTypeId).FirstOrDefault()

))))

geek77
@geek77
Mar 24 2016 13:40
@takigava переписать
c# все-таки пересахарили, жабу пересолили
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:41
а зачем тут .Cast<dynamic>() то?
geek77
@geek77
Mar 24 2016 13:41
в жабу нормальные лямбды сразу надо было и TCO
takigava
@takigava
Mar 24 2016 13:42
@geek77 А вот и нет)))Там просто есть linq запрос к базе который выбирает два поля в аноним)
geek77
@geek77
Mar 24 2016 13:42
@takigava переписать
linq выкинуть
зачем это вообще сделали, ироды
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:43
@geek77 не считаю что персахарии, самое сложное в чтении кода - как раз LINQ выражения, и то в принципе не сложно, ибо наглядно все именуется. Зато кода получается куда меньше, по сравнению с java
@geek77 LINQ == StreamAPI
takigava
@takigava
Mar 24 2016 13:45
@geek77 Посмешил))) Это только там часть проекта лежит)
alt
geek77
@geek77
Mar 24 2016 13:46
@BOOMik я в курсе, я не уверен и в нужности streamAPI :)
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:46
@takigava Удали папки bin & obj =)
@geek77 количество кода на порядок сокращается
Toporik
@Toporik
Mar 24 2016 13:46
Помниццо флекс платформа тоже закончила сахарком, а не попыткой исправить основные проблемы )
geek77
@geek77
Mar 24 2016 13:47
@BOOMik какая разница, если однотипный код и так пишется не руками, а автоматом?
takigava
@takigava
Mar 24 2016 13:47
@BOOMik bin и obj 300 метров по главному проекту. Остальное исходники,библиотеки и т.д.
geek77
@geek77
Mar 24 2016 13:48
библиотеки и картинки
адок наверное. Кто-то кроме авторов это может поддерживать? %)
mansonheart
@ZherebtsovAlexandr
Mar 24 2016 13:49
@BOOMik @geek77 я уже со всем в java смирился, кроме отсутствия var, если соблюдать гайды по его использованию, то проблем не будет) так что отлично, что var есть
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:49
@geek77
Как ты автоматом пишешь выборки??
Вот хороший пример про стримы:
public Map<String, List<Article>> groupByAuthor() {

    Map<String, List<Article>> result = new HashMap<>();

    for (Article article : articles) {
        if (result.containsKey(article.getAuthor())) {
            result.get(article.getAuthor()).add(article);
        } else {
            ArrayList<Article> articles = new ArrayList<>();
            articles.add(article);
            result.put(article.getAuthor(), articles);
        }
    }

    return result;
}
public Map<String, List<Article>> groupByAuthor() {  
    return articles.stream()
        .collect(Collectors.groupingBy(Article::getAuthor));
}
geek77
@geek77
Mar 24 2016 13:49
@BOOMik эээ, подожди, такую фигню любой орм умеет
ну почти
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:50
@geek77 ORM, а без него?)
geek77
@geek77
Mar 24 2016 13:51
@BOOMik без орм я пишу sql запрос руками. left join group by - вот это всё
эти ваши стримапи вообще отучат погроммистов знанию и умению в sql
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:51
@geek77 а когда нет БД, просто есть лист объектов
@geek77 он не только для БД
@geek77 а относительно бд - конечно лучше писать запросы такие, чем януть все объекты и уже на уровне java обрабатывать массив
geek77
@geek77
Mar 24 2016 13:54
@BOOMik ```
for (Article article : articles) {
    result.add(article.getAuthor(),article)
}
здесь result - генерик для группировки. Делается на раз-два, использовать можно везде
вариантов-то масса
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:55
@geek77 но опять же- еще генерик написать, а тут все готово и наглядно.
@geek77 можно вообще на ассемблере писать
geek77
@geek77
Mar 24 2016 13:56
готово, наглядно и не работает на ынтырпрайз сервере. потому что там жаба 7 ещё
@BOOMik я говорю - цена этого "готово и наглядно" - выпадение из стека скиллов sql
хотя sql знать очень полезно. Даже когда не работаешь с бд
вообще вкусовщина конечно
манагерам надо погроммистов подешевле
и чтоб с бд могли работать
в c# давно так. Теперь и в жабе
бгг
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 13:59
@geek77 стримы не только для sql. SQL знать надо, не спорю, но не всегда они нужны.
Работает/не работает это другой вопрос. Вотпрос-почему не использовать, если можно. Для меня по многим пунктам на Java боль писать после шарпа, кода получается больше. что на шарпе 1 строчкой написать, на java порой приходится в десяток..
geek77
@geek77
Mar 24 2016 14:01
@BOOMik ну я ж говорю - вкусовщина. Мне лично c# нравится больше жабы в некоторых местах. LINQ к ним не относится :)
через 5 лет можно будет открывать стартап по ускорению запросов к БД в жабоприложениях
в аппы натащат через этот ваш стримапи всё то, что должен делать сервер бд, бгг
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 14:08

в аппы натащат через этот ваш стримапи всё то, что должен делать сервер бд, бгг

@geek77 ну за такое убивать надо) не для этого он

geek77
@geek77
Mar 24 2016 14:08
@BOOMik а вот попомнишь мои слова
^_^
не для того он, ха.
Kirill Ashikhmin
@KirillAshikhmin
Mar 24 2016 14:09
не спорю что неучи могут натащить, но это говнокод будет.. и будет он всегда
geek77
@geek77
Mar 24 2016 14:16
суть в том, что эти неучи смогут делать то, что раньше требовало хоть каких-то знаний :)
iamtodor
@iamtodor
Mar 24 2016 15:47
Когда там у вас будет масштабная конференция дней этак, хотя бы 3-4?
chijikpijik
@chijikpijik
Mar 24 2016 15:52
50 докладов про clean architecture?)
takigava
@takigava
Mar 24 2016 16:02
@Iamtodor Пожалуйста))) http://appsconf.ru/ 2 дня и от 14к до 30к)))
Olzhas Ilyubayev
@hondrus
Mar 24 2016 16:02
var и val - это не кошерно, а вот от точки с запятой можно и отказаться
iamtodor
@iamtodor
Mar 24 2016 16:04
@takigava черта себе стоимости..
takigava
@takigava
Mar 24 2016 16:04
@Iamtodor Предварительно 190 тем, пока на обсуждении)
Будет несколько залов