Лучшие практики проектирования и реализации API на C#
Изучите лучшие практики проектирования и реализации API, сформированные мировым .NET-сообществом
Description
Проектируйте и разрабатывайте типы на C# таким образом, чтобы другие разработчики вас не ненавидели, используя их. В этом курсе, вы научитесь писать код высокого качества: читаемый, понятный и надёжный.
Прокачайте понимание ООП в контексте написания чистого кода и построения типов высокого качества:
- изучите характеристики хорошо спроектированного типа
- изучите принципы разработки удобного API
- пишите чистый код, избавьтесь от неприятных запахов
- узнайте в чём настоящая цель исключений, как их выбрасывать и как обрабатывать
- защитите ваши типы от некорректного использования посредством грамотной инкапсуляции
Основы построения объектно-ориентированных инфраструктур
Несмотря на всю мощь C#, можно очень часто видеть плохо спроектированные и реализованные типы в реальной жизни. По факту, C# является одним из богатейших языков по своим возможностям среди объектно-ориентированных языков в настоящее время. Но с большой силой приходит большая ответственность. Довольно сложно использовать все возможности грамотно.
Возможно, вы слышали об одном весьма известном утверждении: "большинство программного кода - отстой". Этот курс полностью посвящён тому как писать хороший код, а не отстойный.
Владение навыками написания хорошо спроектированных и реализованных типов является условием для того, чтобы считаться профессионалом.
Содержание и обзор
Этот курс направлен на любых C# программистов, от новичков до профессионалов. Темы, которые освещены в курсе релевантны для всех C# программистов, поскольку все программисты проектируют и реализуют различные API. Сложность тем довольно разная: от простейших до сложных, требующих серьёзных познаний в C#. По ходу курса мы разберём множество примеров кода, таким образом вы будете изучать как теоретический так и практический материал.
Начав с характеристик и принципов по которым проектируются типы, мы пойдём дальше, изучая грамотное именование членов API, важность небольшого количества параметров метода, проблему передачи булевых параметров в методы и множество других тем.
Затем мы перейдём к понятию инкапсуляцию. Что означает инкапсуляция и как инкапсулировать тип? Мы познакомимся с компромиссами, возникающими при инкапсуляции типов. Как ни странно, множество программистов не понимают что же такое инкапсуляция на самом деле. Изучив тему инкапсуляции, вы научитесь строить непротиворечивые и надёжные типы.
После этого, вы познакомитесь с проблемой обработки исключений. Да, это крепкий орешек. Мы начнём с обсуждения того почему мы вообще используем механизм исключений для обработки ошибок. И по какой причине команда C# не внедрила в язык какой-либо другой способ работы с ошибочными ситуациями?
В конце курса,вы познакомитесь с методиками борьбы против null-значений. Как, наверное, вы слышали, Тони Хоар называл проблему нулевых ссылок проблемой на миллиард долларов.
Вкратце, курс покрывает следующие темы:
- Принципы разработки API
- Как давать хорошие имена для членов API и какие соглашения именования существуют на платформе .NET
- Распространённые проблемы проектирования и реализации API: классы vs структуры, абстрактный класс vs интерфейс, порождающие паттерны vs конструкторы, реализация паттерна Dispose (освобождение ресурсов)
- Обработка ошибок. Крайне проблематично разрабатывать надёжное ПО, в котором обработка ошибок основана на исключениях. Мы выясним почему это так и как бороться с проблемами обработки ошибок
- Борьба против нулевых ссылок. Null-значения всегда были ещё той головной болью. NullReferenceException это очень частый гость в ПО. Мы посмотрим на различные пути уменьшения разрушительной силы нулевых ссылок.
Зачисляйтесь на курс и прокачайтесь в проектировании и реализации типов на C#!
What You Will Learn!
- Проектировать и реализовывать типы, заботясь о пользователях API
- Инкапсулировать типы таком образом, чтобы другие программисты вас не возненавидели
- Писать код в хорошем стиле, раскрывая его намерения
- Рефакторить код, делая его гораздо более читабельным и понимаемым
- Выбрасывать и обработывать исключения грамотно
- Оставлять грамотные комментарии
- Справляться с null-значениями
Who Should Attend!
- Для программистов, которые имеют как минумум базовые представления о C# и ищут практическое руководство по улучшению качества своего кода.