Johnny
Engylizium
Dry
сопипаст
Richard
Извиняюсь, сразу не представился. #whois
Зовут Ричардом. Студент БГУИР. В программировании новичок, на данный момент в универе изучал С/С++ и Java. По личной инициативе решил опробовать Swift. Сообщество интересно как коллеги, которые могут поделятся опытом, и единомышленники, среди которых поддерживается дружеская ненапряжная атмосфера. В свою очередь я смогу делиться своим опытом по мере получения мной знаний в сфере разработки, а также просто поддержать беседу с интеллектуальными людьми. Сам из Баранович (РБ), проживаю и учусь в Минске. Про группу узнал через Гугл, забив в поисковик желаемую информацию.
Richard
@White_guardsman Офигеть, тот момент, когда узнал, что есть ещё Ричард и тоже под iOS, притом и в Беларуси
Richard
Пока что не под iOS, поправочка. 😆
Paks
Пишут, что хорошие практики в разработке - это избавление от зависимости, и где-то читал правило 1 класс - 1 задача - 1 зависимость
Paks
тобишь, если в контроллере у вас допустим импорт 3-4 либ, и выполнения набора действий - то под каждый импорт надо отдельный класс делать и под каждое действие так же?
Ivan
Это нереально раздувает код. Сама Apple игнорирует это правило, например.
D
Принцип единственной ответсвенности называется)
Paks
а каких правил вы придерживаетесь?) вот Макконел пишет, что количество строк в классе не должно превышать 300, иначе далее начинается рост в прогрессии количество возможных ошибок и сложность
Paks
а если взять какой-то контроллер, типа ТаблВью, еще делегатов наподключать, там сотня строчек выйдет ток на стандартные методы
I'm That Fel!x
правило телеграма
I'm That Fel!x
:D
q210
некоторые программисты на RoR (ruby on rails) вообще делают методы не длиннее 5ти строк
q210
потому что у них там сахара как в кока-коле
q210
синтаксического
Jian Yang
😂
q210
все такие правила очень и очень ситуативны
q210
но есть более менее универсальные принципы
q210
то, что выше упоминалось, это single responsibility принцип видимо
q210
буква "S" в SOLID
q210
также стоит посмотреть на YAGNI, KISS, DRY и SOC
q210
из интересных акронимов
Roman
Могу сюда добавить ещё немного философии
https://www.joelonsoftware.com/2009/09/23/the-duct-tape-programmer/
Roman
На тему того, что оверабстракции не всегда удобны и приветствуются
q210
обычно сам стараюсь писать код, который потом просто будет изменять - потому выбор в пользу читаемости, делаю меньше абстракций, глубокого наследования (тут хорошо почитать споры "наследование vs композиция"), пишу тесты которые помогут потом удобно менять имплементацию не затрагивая поведения (т.е. больше функциональных тестов, хотя и юнит- тоже есть), иногда забиваю на DRY если код из-за него получается усложнённым
q210
ну и опять же моим первым профессиональным языком был питон
q210
там есть отличный дзен
q210
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Roman
> Namespaces are one honking great idea -- let's do more of those!
До слёз
q210
делать распознавание объектов на фото на руби - медленно, отдавать странички в вебе - норм
Anonymous
Смотрел недавно бенчмарки свифтовых вебфреймворков. Руби там вообще отстой
q210
на практике если ты не фейсбук, то вполне хватает
q210
гитхаб на руби
q210
твиттер был на руби
q210
инстаграмм на джанге
q210
рутуб был на джанге когда-то
q210
собсна фейсбук и вконтакт - на PHP
q210
динамические языки в вебе стали популярны не от того, что они быстрее всех, а от того, что они достаточно быстрые для тех задач, при этом разрабатывать на них удобно и порог входа небольшой
Anonymous
Действительно
q210
питонист с нуля ("был курс паскаля в школе") до уровня джуна ("могу поправить шаблон в джанге") учится за полтора-два месяца
q210
по крайней мере я так 11 человек выучил 5 лет назад
Paks
я кажись тоже пишу код мне понятный) и ориентируюсь в нем хорошо даже спустя год-два
Paks
но вот если надо делать кардинальные изменения, а не добавления нового функционала) начинается жопа)
q210
тееестыыы
Paks
начинается беда) от которой никак не избавлюсь) меняешь голову) отваливается хвост)
Paks
чинишь хвост, посыпались плавники)
Paks
залатал плавники - чешуя обсыпалась)
q210
тут один совет - пиши больше функциональных тестов
q210
BDD например заюзай
q210
самое главное что даёт хорошее покрытие тестами - уверенность, что если ты что-то меняешь, ничего в другой части системы не отвалится
q210
это прямо офигенное чувство
q210
т.е. конечно можно писать сразу без ошибок по требованиям которые не изменятся никогда и без накопления технического долга... но я лично так пока не умею)
REANIMATOR777
Всем пр! Кто может замутить игру покер под iOS
Roman
https://telegram.me/mobile_jobs
REANIMATOR777
Культур
Anonymous
Ilkhom
Anonymous
ни тока
А я и не говорил, что только.
Anonymous
Он спросил "Кто?", я дал валидный ответ.
Ilkhom
gotcha
Anonymous
Так-то еще может какой-нибудь Unity developer наклепать.
Anonymous
Или Реактер, если совсем ебанется.
Ilkhom
или Adobe AIR 😜
Anonymous
Если ты хотел нормального ответа, то нужно было нормальный вопрос задать.
Anonymous
REANIMATOR777
Есть клиент, хочет покер свой)
Ilkhom
не удивляйсо
REANIMATOR777
Чтобы играть на биткоины
Anonymous
Вопрос должен быть такой:
"Кто в это ITC чате готов взяться за разработку игры под iOS с биткоинами."
Anonymous
И на него ты бы получил какой-то адекватный ответ.
REANIMATOR777
Думал под андроид пилить, но решил под iOS
Ilkhom
все прально решил
REANIMATOR777
Я вроде Русский, просто проучилось по молдавских)))))
REANIMATOR777
Ну смысл все поняли
REANIMATOR777
Самый важный вопрос бюджет такой разработки и сроки?
Anonymous
Здесь такое не обсуждают.
Anonymous
Здесь обсуждают нюансы разработки программ и дымоходов.