archie
щас пока на MVVM
A
почитай вайпер, а потом забудь и юзай МВВМ
Sasha
а расскажите про использование VIPER в реальных проектах, пожалуйста
Sasha
просто мне интересно, кто-нибудь кроме рамблера юзает это?
Sasha
кроме рамблера слышал только об одной компании на VIPER-е, и она была не в России
Antontsue
я думаю это как идеал вертикали власти в проекте, а на деле очень часто срезают на поворотах, но в общем и целом это используется в виде разделения на модули и уровни абстракции.
Sasha
мне просто кажется, что это круто, конечно, что можно просто писать много кода, не особо даже думая об архитектуре, ибо за рамки VIPER нужно постараться выйти но это слишком долго/дорого, ну сириусли
Sasha
или я не прав?
Aziz L
а что трудного в viper ?
Sasha
ничего трудного ведь, просто дольше
Aziz L
зато код более солид, не?
Sasha
ну да
Sasha
конечно
Sasha
просто если смотреть на VIPER в условиях ограниченного времени на разработку, то непонятно
Sasha
если у компании нет таких ресурсов, чтобы нанять много программистов, чтобы быстро писать тонну VIPER кода, при этом покрывая все тестами
Sasha
хотя может быть я и не прав
Sasha
мне просто интересно, так ли это на самом деле, как я думаю
Antontsue
просто если смотреть на VIPER в условиях ограниченного времени на разработку, то непонятно
ну дак да, но потом ты понимаешь что у тебя 10 классов по 10к строк кода и надо чтото менять
Aziz L
не "вайпер кода" - а солид кода, скорее
Aziz L
т.к. сам по себе вайпер не увеличивал бы время разарботки, если бы не заставлял тебя писать его более качественно, т.е. дольше и думать надо больше (и думать головой, а не рефлексами)
Antontsue
мне просто интересно, так ли это на самом деле, как я думаю
надо изначально архитектуру продумать так чтобы оверхед был только в начале, а добавление функций уже занимало обычное время, тоесть чтобы все новое органично встраивалось в то что уже есть
Aziz L
как будто ты можешь предусмотреть все возможные варианты развития событий)
Sasha
как будто ты можешь предусмотреть все возможные варианты развития событий)
уф, ты что, может еще таски не эстимейтишь с точностью до минуты???????????????
Aziz L
нет)
Antontsue
как будто ты можешь предусмотреть все возможные варианты развития событий)
ну ты же можешь уменьшить количество зависимостей, сделать все мкимально модульно, продумать основные схемы работы приложения исходя из его основного функционала
Sasha
(это была шутка)
Aziz L
наверно лучше не думать про вайпер, а думать про solid
Antontsue
солид сложно понять без опыта
Antontsue
имхо
Aziz L
)))
Antontsue
в там уже и проект сдавать пора
это надо было вносить в оценки)
Sasha
Antontsue
Sasha
archie
Pavel
Подскажите пожалуйста. где можно увидеть «красивый код»? Может быть посоветуете автора на GitHub, у которого можно скачать небольшое, но полноценное приложение?
Pavel
// работаю один, поэтому только так =(
Александр
Красота в глазах смотрящего
Александр
(по хате)
Александр
У всех свои понятия о красоте кода
Pavel
В частности интересует разбитие на классы и папки
archie
Я видел телеграм на гите есть
archie
Вроде официальный
archie
Думаю там можно подсмотреть)
Александр
телеграм едва ли сойдет за пример красивого кода
Aziz L
код телеграма явно не то; мне на гите больше всего нравится badoo/chatto
Aziz L
только там на свифте
archie
А почему телеграм не оч? Но я правда его и не смотрел)
nvkv
Он на C++ написан, если мне память не изменяет
nvkv
неидеоматичненько
archie
Далан?
archie
неидеоматичненько
кстать, привет с трактора)
nvkv
шалом алейхем
nvkv
Нет, обманул, телеграм на objc
Aziz L
он на objc только там понамешано.. везде magic numbers, куча дублирующегося кода, файлы по 7к строк, совсем не понятна архитектура.. выглядит так, как будто его спецом обфусцировали пред выкладыванием
Aziz L
плюс он не компилируется без танцев с бубном
Aziz L
и даж если скомпилишь, дальше стартового экрана не уйдешь
Aziz L
у https://github.com/badoo/Chatto, все довольно красиво; разбито по модулям; много best practices и даж есть какието тесты
Aziz L
а вот desktop клиент, на сколько я знаю, у telegram очень даже норм; как пример проекта на c++ qt
Egor
красивый код однозначно тут - https://github.com/rambler-digital-solutions/rambler-it-ios
Александр
>однозначно
Egor
конечно :)
Egor
Коллеги, есть такая задача, делать скриншоты основной вьюхи, вычислять 2 цвета, и генерировать градиент, проблема в том что это надо делать в реальном времени, примерно каждые 100ms обновлять, трудоёмка ли будет эта операция?
Sasha
Я думаю, что можно просто сжимать изображение, если будут проблемы
Egor
Или может кто знает) как победить синдром вертикального фото/видео
Antontsue
А почему телеграм не оч? Но я правда его и не смотрел)
Там файлы по 8к строк кода были когда я смотрел. Это конечно давно было, хз как сейчас. Хотя весь код от мтпрото выделен в отдельный фреймворк
Egor
Проходись по каждой 10й строке
Не совсем тебя понял
Antontsue
Ну не все пиксели бери в расчет цвета а каждую 10ю строку и 10й столбец. Если надо 2 дом нирующих цвета выделить то хз даже, погуглить надо
Egor
С этим то проблем нет, делать скрины всего экрана накладно
Egor
Я ещё не пробовал, но мне так кажется
Antontsue
Буфер выдели под ргба и его переиспользуй
Antontsue
Можешь не весь экран скринить а только часть какуюто
Antontsue
Или определенную субвью
archie
ребята, если я нашел бук про 2014 года за 56 тыщ, новый, нужно брать, да?