Лучшие практики проектирования и реализации API на C#

Изучите лучшие практики проектирования и реализации API, сформированные мировым .NET-сообществом

Ratings: 4.34 / 5.00




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# и ищут практическое руководство по улучшению качества своего кода.