filmov
tv
Code review .NET web приложения (ASP.NET 7)
Показать описание
В этом видео мы рассмотрим .NET web приложение, которое любезно предоставил Евгений. Я разберу основные ошибки, расскажу как его улучшить, как правильно сделать рефакторинг кода. Так же мы рассмотрим разные советы для улучшения кода.
00:00:00 - Вступление
00:01:20 - Про проект
00:02:30 - Введение
00:05:15 - Issues
00:07:45 - Pull request (PR)
00:09:13 - Action
00:12:10 - Сервер + БД / PR
00:15:55 - Milestones
00:16:50 - ReadMe
00:22:44 - Коммиты
00:28:52 - Разделение фронтенда/бэкэнда
00:31:00 - Про настройку CI/CD
00:32:50 - Про монолит
00:34:35 - Three-tier
00:37:48 - Clean architecture
00:44:10 - DDD
00:45:49 - Дублирование слов в методах/свойствах
00:49:30 - Guard clause
00:53:27 - Null vs Exception
00:59:27 - CancellationToken
01:00:20 - Async в названии
01:00:50 - Nullable (pvs-studio)
01:04:41 - Интерфейсы
01:07:55 - Сущности (entity)
01:19:20 - Data слой
01:19:40 - Generic repository
01:20:53 - Specification pattern
01:23:55 - FirstOrDefault to Any
01:27:45 - Сокращаем имена/выносим репозитории
01:30:00 - ToLower
01:31:38 - Where + Any
01:32:41 - ToList
01:34:15 - AutoMapper
01:36:35 - Получение нужных колонок
01:41:20 - Фильтрация через обьект
01:42:50 - Null (??)
01:14:50 - Один Where
01:46:00 - Оптимизация обновления
01:47:40 - Необязательный Where
01:48:30 - SOLID (ISP)
01:49:10 - string to enum
01:51:28 - Удаление по id
01:53:15 - Неправильное условие
01:55:40 - UnitOfWork
02:00:17 - Ef vs Dapper
02:03:00 - Обработка исключений
02:07:07 - JsonSerializerOptions
02:08:00 - DTO
02:12:22 - enum Нумерование
02:16:05 - Вспомогательные классы
02:20:27 - Константы
02:23:00 - Сервисы
02:25:30 - Jwt
02:26:40 - SignalR
02:32:38 - REST
02:44:25 - Выводы
Clean architecture:
DDD:
Microservices:
Выбрать только нужные колонки без .Select():
*Контакты*
#ityoutubersru #ityoutubers #it #kurnakovv #программирование #программист #aspnetcore #dotnet #csharp #dotnetcore #aspnet #codereview #review #код_ревью #ревью #проверка_кода #проверка #refactoring #рефакторинг #github #гитхам #git #гит #issues #pull_request #actions #github_actions #milestones #github_milestones #eshoponweb #in_memory_db #render #commit #коммит #three_tier_architecture #трех_уровневая_архитектура #clean_architecture #architecture #чистая_архитектура #uncle_bob #дядя_боб #clean_code #чистный_код #microsoft #ddd #microservices #микросервисы #guard_clause #exception #error_handling #обработка_исключений #исключения #cancellation_token #nullable #pvs_studio #dry #generic_repository #repository #репозиторий #specification_pattern #паттерн_спецификация #postgresql #postre #efcore #collate #case_insensitive #query #db #select_specific_fields #unitofwork #unit_of_work #jsonserializeroptions #constants #environment_variables #константы #переменные_окружения #rest #рест #kurnakovv #kurnakov
00:00:00 - Вступление
00:01:20 - Про проект
00:02:30 - Введение
00:05:15 - Issues
00:07:45 - Pull request (PR)
00:09:13 - Action
00:12:10 - Сервер + БД / PR
00:15:55 - Milestones
00:16:50 - ReadMe
00:22:44 - Коммиты
00:28:52 - Разделение фронтенда/бэкэнда
00:31:00 - Про настройку CI/CD
00:32:50 - Про монолит
00:34:35 - Three-tier
00:37:48 - Clean architecture
00:44:10 - DDD
00:45:49 - Дублирование слов в методах/свойствах
00:49:30 - Guard clause
00:53:27 - Null vs Exception
00:59:27 - CancellationToken
01:00:20 - Async в названии
01:00:50 - Nullable (pvs-studio)
01:04:41 - Интерфейсы
01:07:55 - Сущности (entity)
01:19:20 - Data слой
01:19:40 - Generic repository
01:20:53 - Specification pattern
01:23:55 - FirstOrDefault to Any
01:27:45 - Сокращаем имена/выносим репозитории
01:30:00 - ToLower
01:31:38 - Where + Any
01:32:41 - ToList
01:34:15 - AutoMapper
01:36:35 - Получение нужных колонок
01:41:20 - Фильтрация через обьект
01:42:50 - Null (??)
01:14:50 - Один Where
01:46:00 - Оптимизация обновления
01:47:40 - Необязательный Where
01:48:30 - SOLID (ISP)
01:49:10 - string to enum
01:51:28 - Удаление по id
01:53:15 - Неправильное условие
01:55:40 - UnitOfWork
02:00:17 - Ef vs Dapper
02:03:00 - Обработка исключений
02:07:07 - JsonSerializerOptions
02:08:00 - DTO
02:12:22 - enum Нумерование
02:16:05 - Вспомогательные классы
02:20:27 - Константы
02:23:00 - Сервисы
02:25:30 - Jwt
02:26:40 - SignalR
02:32:38 - REST
02:44:25 - Выводы
Clean architecture:
DDD:
Microservices:
Выбрать только нужные колонки без .Select():
*Контакты*
#ityoutubersru #ityoutubers #it #kurnakovv #программирование #программист #aspnetcore #dotnet #csharp #dotnetcore #aspnet #codereview #review #код_ревью #ревью #проверка_кода #проверка #refactoring #рефакторинг #github #гитхам #git #гит #issues #pull_request #actions #github_actions #milestones #github_milestones #eshoponweb #in_memory_db #render #commit #коммит #three_tier_architecture #трех_уровневая_архитектура #clean_architecture #architecture #чистая_архитектура #uncle_bob #дядя_боб #clean_code #чистный_код #microsoft #ddd #microservices #микросервисы #guard_clause #exception #error_handling #обработка_исключений #исключения #cancellation_token #nullable #pvs_studio #dry #generic_repository #repository #репозиторий #specification_pattern #паттерн_спецификация #postgresql #postre #efcore #collate #case_insensitive #query #db #select_specific_fields #unitofwork #unit_of_work #jsonserializeroptions #constants #environment_variables #константы #переменные_окружения #rest #рест #kurnakovv #kurnakov
Комментарии