Шаблоны разработки. Антипаттерны (завершение)

  Рет қаралды 9,403

Sergey Nemchinskiy

Sergey Nemchinskiy

10 жыл бұрын

Обновленный курс GRASP and GoF Design patterns - bit.ly/2W3djGN
💪 ПРОКАЧАЙ СВОИ ХАРД-СКИЛЛЫ ЗА 2 МЕСЯЦА!
Продолжение курса "Шаблоны разработки программного обеспечения".Антипаттерны
Плейлист • Шаблоны разработки. Вв...
Все материалы курса лекций (включая конспект лекций) на моем канале на SlideShare:www.slideshare.net/SergeyNemch...
Изучение Blockchain developer bit.ly/2Ro2hV2
Изучение Android bit.ly/2RcvzWB

Пікірлер: 18
@t.f.5722
@t.f.5722 2 жыл бұрын
Молодой и красивый Сергей Немчинский.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
просто с усами, это отличает сильно
@user-qg6fn3qx9m
@user-qg6fn3qx9m Жыл бұрын
Спасибо Немчинскому, я любитель самоучка, но еслибы 10 лет назад знал что есть такие курсы, обязательно пошёл бы и не приобретал знания на болезненом опыте.
@9Corvinus
@9Corvinus 5 жыл бұрын
В очередной раз ловлю себя на мысли, что проходили мы это еще в университете давным-давно, но тогда это не воспринималось так остро, а сейчас - насмотревшись на кучу кода, переданного интеграторами и проведя годы в его рефакторинге... Ох, некоторые вещи я теперь знаю, как называются))))
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
Спасибо
@betking1990
@betking1990 10 жыл бұрын
Норм объясняешь))
@cybd08
@cybd08 9 жыл бұрын
Весёлая концовка получилась
@kai3341
@kai3341 3 жыл бұрын
Оптимизация не всегда говнение. Правда, в моём опыте в основном выходит скорее выкорчёвывание мыльного пузыря и прочего говна с целью максимального упрощения кода (иногда сложность кода сокрыта слоями абстракции. Сей антипаттерн крайне распространён и называется ORM. Шутка это лишь наполовину, и похоже, потребует объяснения). И как результат -- О ЧУДО! -- код действительно начинает работать сильно быстрее. И обычно такую оптимизацию я называю побочным эффектом, чтобы заказчик не пугался.
@SergeyNemchinskiy
@SergeyNemchinskiy 3 жыл бұрын
ОРМ надо уметь готовить. Часто выходит сделать на ОРМе даже быстрее, чем на нативном SQL
@svyatoslavs945
@svyatoslavs945 5 жыл бұрын
Приведу пример, где, все же пригождался закомментированный код: начал писать оптимизирующую фичу, в процессе понял, что есть сложности, времени на эту фичу уйдет намного больше запланированного, а есть в другом месте код, который требует срочной реализации. Закомментировал новое, вернул старое неоптимальное, написал todo и ушел заниматься делами. Через несколько дней появилось время, вернулся и дописал оптимизацию, хотя, конечно, за эти дни появились новые мысли, часть переделал, но закомментированное помогло не забыть основную идею.
@0imax
@0imax 3 жыл бұрын
Не знаю, когда Вы это делали, под какой системой контроля версий и какой объём кода требовал изменений, возможно тогда такой подход был вполне ок. Сейчас подобные задачи элементарно решаются отдельной веткой в гите: Надо сделать оптимизацию - от последней версии сделали отдельную ветку и там ковыряетесь. Потребовалось срочно добавить фичу, а оптимизацию ещё не доделали - создаёте новую ветку от того же места, добавляете фичу, проверяете, сливаете в основную ветку. Затем доделываете оптимизацию и так же сливаете изменения в основную ветку. Итого задачи не мешают друг другу, переключаться между ними легко и просто, а главное - у Вас всегда есть 100% рабочая версия Вашей программы. До знакомства с гитом я не пользовался системой контроля версий вообще, т.к. считал, что раз пишу код один, нафига мне это надо. А как попробовал, теперь всё делаю с гитом, ибо так намного удобнее.
@svyatoslavs945
@svyatoslavs945 3 жыл бұрын
@@0imax В принципе, да, согласен, с GIT это все работает, но, возможно это моя личная психология, мне проще на короткое время повесить todo и закомментированный кусок кода, который потом будет постоянно попадаться на глаза, чем делать отдельную ветку, которая при активной работе может и забыться/потеряться, и которую потом еще надо будет сливать с тем, что ушло вперед. В последнее время, однако, чаще получается другое использование: у меня код готов и работает, а в интеграции у коллег что-то сломалось, поэтому, часть рабочего кода до починки комментируем с пояснением, что текущее состояние - костыль, и условием, когда его можно будет откатить.
@Xilax220
@Xilax220 9 жыл бұрын
Про оптимизацию кода скажу пару слов. Можно писать быстрый код сразу, либо писать медленный. Взять хоть те же патерны регекспов в цыкле. Вроде может показаться обычным при тестовых прогонах. Но! Если вы начнете проводить SVT тестирование, то к вам придет инженеры и скажут, что вы тут "наковногодили" и у вас патерны постоянно компилируется. Лучше об этом думать на автомате. Это только один из примеров. Есть уйма кода которая ведет себя похоже. Кодите пожалуйста сразу быстро, нет сложности в оптимизации в момент измышления над кодом.
@dutnum5766
@dutnum5766 7 жыл бұрын
Имена переменных с венгерской нотацией прекрасно запоминаются. В памяти держится не только имя, но и тип переменной. Через некоторое время префиксы добавляются "в уме" добавляются автоматически. Как раз имя переменные без префикса начинают выглядеть "странно". Не могу сказать что она устарела: Microsoft до сих пор использует венгерскую нотацию в том числе и в новых API. В Java венгерская нотация ограниченно используется в Android API (префикс m для полей класса).
@TheKotopec
@TheKotopec Жыл бұрын
29:10
@alexpepper2146
@alexpepper2146 8 жыл бұрын
а IDEA ж вроде умеет уже давно подставлять по абривиатуре.. не так?
@alexpepper2146
@alexpepper2146 8 жыл бұрын
+Sergey Nemchinsky ну, если по абривиатуре всегда вводить, то найдётся (относится к таинственному коду), или таже венгерская натация хотя сам сие не предпочитаю )
@gen7891
@gen7891 6 жыл бұрын
Проект надо изучать не по коду, особенно если он говен. А по руководству системного программиста, где бы была расписано архитектура , концепции и тд но никто так не работает потому что архитекторов в команде нет. Это как строители без бригадира. Но если на стройке все понимают что бригадир нужен, то в ИТ все не понимают что нужен архитектор в команде. Поэтому столько гавнокода и рождается и так будет... потому что бизнесу нужны демки прям ща ...
Шаблоны разработки. Шаблоны GoF 3
52:51
Sergey Nemchinskiy
Рет қаралды 20 М.
Я 20 лет писал код и вот что я думаю
31:01
Sergey Nemchinskiy
Рет қаралды 23 М.
WHO DO I LOVE MOST?
00:22
dednahype
Рет қаралды 21 МЛН
Which one is the best? #katebrush #shorts
00:12
Kate Brush
Рет қаралды 26 МЛН
버블티로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 44 МЛН
Шаблоны разработки. Шаблоны GoF 4
47:33
Sergey Nemchinskiy
Рет қаралды 14 М.
Декомпозиция, типовые решения
44:31
Sergey Nemchinskiy
Рет қаралды 36 М.
Шаблоны разработки ПО. Шаблоны GRASP
1:05:12
Sergey Nemchinskiy
Рет қаралды 30 М.
Шаблоны разработки ПО. Шаблоны GoF. Часть 1
43:06
Про Kafka (основы)
49:23
Владимир Богдановский
Рет қаралды 364 М.
Шаблоны разработки. Антипаттерны
1:00:13
Sergey Nemchinskiy
Рет қаралды 16 М.