Episodes
Мы обсуждали смысл метрик качества кода, но как они работают изнутри? Для этого у нас будет специальный гость .... ;)
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:04:10 Code Coverage - лучшая метрика?
00:16:00 Изнутри Code Coverage
00:29:20 Бесполезные метрики
00:36:00 Метрика - количество коммитов
00:39:20 Cyclomatic...
Published 11/15/24
ООП против ФП ... ну что тут еще говорить?
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:08:40 ООП
00:34:00 ФП
Ссылки:
- https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/ : ООП в C#
- https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/pattern-matching : ФП в C#
Видео:...
Published 11/08/24
В прошлый раз мы разобрали единую метрику от Microsoft, сегодня же пройдемся по другим популярным способам запихнуть качество кода в одно число.
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:09:00 Зачем Cyclomatic complexity?
00:27:00 Метод, который вызывается один раз, code smell?
00:31:55 Code Smells метрика
00:43:00...
Published 11/01/24
Мы часто называем что-то "говнокодом", но можно ли быть объективным и просто выделить ключевые метрики "говнистости"?
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:08:50 Что такое Code Quality метрики?
00:13:20 Maintainability Index это то что нужно?
00:30:20 Что говорят наши зратели?
00:33:00 Код - как...
Published 10/25/24
Все любят чистую архитектуру, но не будет ли больше грязи от нее в нашем коде?
P.S.: в процессе записи мы случайно остановили стрим ... и не смогли перезапустить. Так что выпуск может показаться "неоконченным".
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:05:00 Зачем нужна Чистая Архитектура?
00:11:00 Unit тесты не...
Published 09/27/24
На AutoMapper многие накидываются, но проблема не в самой библиотеке, а в подходе, недостатки которого забивают автомаппером. Об этом и поговорим.
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:07:10 Копирование Dto в модель
00:24:50 AutoMapper для версионирования
00:32:10 AutoMapper и условия
00:36:45 Сущность per...
Published 09/22/24
Когда говорят о качестве кода, часто упоминают DDD. Но реально ли так сильны эти три буквы?
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:04:20 Что такое DDD?
00:13:20 На сколько сильно программист должен знать предметную область?
00:36:20 Стратегические паттерны DDD
00:41:00 Самое главное - единый язык
00:44:00...
Published 09/07/24
MediatR они б.. ставят, MediatR! Он нам и на..й не нужон MediatR ваш.
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:04:30 MediatR нужон?
00:07:15 Шо такое этот ваш MediatR?
00:25:10 Накуа мне MediatR этот ваш?
00:30:25 MediatR в деталях
00:42:50 Защищаем MediatR
Ссылки:
- https://github.com/jbogard/MediatR : Предмет...
Published 08/30/24
Разбираем говнокод, защищаем говнокод, обмаз... проникаемся говнокодом и не только.
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:05:00 Код на русском
00:07:00 Неправильное использование API
00:14:35 Generics Madness
00:20:40 Layout кода
00:28:40 Pattern Matching сложно читать?
00:39:00 История Code Behind
00:43:55...
Published 08/23/24
Было время, когда паттерны спрашивали на все собеседованиях, но ... прошло. Попробуем "откопать стюардессу" ...
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:14:40 Зачем нужны паттерны
00:16:50 Паттерн = шаблон?
00:23:00 Нужны ли паттерны GoF в 2024 году?
00:40:45 Виды паттернов
00:53:30 Протекающие паттерны
00:55:00...
Published 08/16/24
Есть 2 стула: на одном бесконечный рефакторинг, на втором говнокод. Оба варианта приводят к архивации репозитория. А как писать код "для души", чтобы и результат был, и душа не страдала?
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:06:30 Как рефакторить пет проекты
00:19:10 Как сделать расширяемое и простое...
Published 08/09/24
Есть два стула: на одном программист пишет пет проект и никогда не заканчивает, на другом менеджер орет под ухом "говнокодь и в прод". А есть ли золотая середина?
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:12:00 Манагеры - мудаки
00:16:00 Как объяснить что такое легаси тупому манагеру
00:26:40 "А почему вы пишете...
Published 08/02/24
C# развивается с немыслимыми темпами, но не вызывает ли подобная скорость рост говнокода?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:05:50 Generics
00:11:30 Префиксы ref, readonly, scoped
00:13:30 Primary Constructors
00:18:10 Tuples
00:24:20 Pattern Matching
00:34:30 Что такое говнокод?
00:39:50 Ranges
00:43:50...
Published 07/26/24
Выбор имени не просто сложно, а ... очень сложно. И сегодня мы поделимся супер-пупер принципом выбора имен: NURGLESS.
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:03:00 Почему нейминг - самое главное?
00:10:00 NURGLESS Принцип
00:12:25 Ubiquitous Language
00:34:50 Referenced names
00:39:40 Google it
00:45:00 Local...
Published 07/19/24
Код это не только бизнес логика, но и 3-4 килограма логгов, трейсов, проверок, ассертов, которые не прибавляют в читабельности. Что же делать?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:03:40 Что такое замусоривание кода?
00:32:00 Что делать: хулиганство
00:37:30 #region
00:42:30 Выделение логики в отдельный...
Published 07/12/24
Люди убеждены, что следование правилам SOLID сделает их код действительно хорошим... но так ли это?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:03:30 Что такое CUPID?
00:13:00 SOLID как философия
00:20:00 Single-responsibility principle
00:27:00 В чем вред философии SOLID?
00:32:15 Open–closed principle
00:37:50...
Published 07/07/24
Новый формат: Адвокат Нургла! Разбираем примеры говнокода, пытаемся оправдать автора, думаем как превратить говно в конфетку.
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:07:00 Разбираем говнокод
Ссылки:
- https://govnokod.xyz/language/cs/ : Источник вдохновения
Видео: https://youtube.com/live/4igB2SOk30Y
Слушайте...
Published 06/28/24
"Вы написал говнокод, сэр" - многие из нас боятся это услышать. Но что такое говнокод? Можно ли "дружить с говнокодом"? Что делать, если Вы поняли, что пишете говнокод?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:03:00 Легаси = Говнокод?
00:08:10 Что такое "Читаемость кода"?
00:16:00 Говнокод - код, сложный в...
Published 06/14/24
Что такое интеграционные тесты? Как их писать? Можно ли перевернуть тестовую пирамиду?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:05:10 Что такое интеграционный тест?
00:15:40 А что если только интеграционные тесты?
00:20:30 Как работают интеграционные тесты в Rider/Resharper?
00:33:40 Интеграционные тесты для...
Published 06/07/24
TDD - это не про тесты! TDD - это не "правильно и обязательно"! TDD - это ... узнаете в новом выпуске :)
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:07:00 Что такое TDD?
00:15:40 Test Frist или TDD
00:34:00 TDD на легаси
00:45:55 Чем TDD плох?
00:49:00 TDD и состояние потока
Ссылки:
- https://youtu.be/TmY3AuoW_PU :...
Published 05/31/24
Писать тесты "за деньги" мы привыкли, но пет проекты же для души! Так есть ли смысл?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:05:40 Зачем писать тесты на пет проекты?
00:13:00 Тесты для gamedev
00:18:00 Чем отличаются pet-project тесты от production тестов?
00:21:30 Бюджет пет проекта
00:29:20 Мотивация писать...
Published 05/24/24
В C# принято создавать отдельный интерфейс для каждой сущности ради обеспечения тестируемости. Но так ли это нужно? Можно ли обойтись без создания дублирующего кода?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:02:50 В чем проблема интерфейсов для тестов?
00:18:45 protected virtual метод вместо выноса...
Published 05/10/24
Вы решились отрефакторить тесты, но как? - Следовать принципу "Сложные тесты результат сложного кода" и переделать код?
- Неинвазивно поменять только тесты?
Что же выбрать?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Shownotes:
00:00:00 Вступление
00:11:55 Сколько тестов надо писать?
00:21:00 Меняем и тесты, и тестируемый код
00:46:45 Рефакторим...
Published 04/27/24
Присоединяйтесь к брейншторму "как улучшить тесты", добавляйте свой Pull Request в https://github.com/dotnetmore/shit-tests
Тесты должны быть понятные, говорили они. Тесты должны быть короткие, учили они. Но что делать, если только arrange занимает 20 строк? А если act - больше чем просто вызов метода? А если логика кода достаточно сложная, так что в однострочный assert не влезает?
Спасибо всем кто нас слушает. Ждем Ваши комментарии.
Бесплатный открытый курс "Rust для DotNet...
Published 04/20/24