|
via Udemy |
Go to Course: https://www.udemy.com/course/apicsharp/
Проектируйте и разрабатывайте типы на C# таким образом, чтобы другие разработчики вас не ненавидели, используя их. В этом курсе, вы научитесь писать код высокого качества: читаемый, понятный и надёжный. Прокачайте понимание ООП в контексте написания чистого кода и построения типов высокого качества: изучите характеристики хорошо спроектированного типаизучите принципы разработки удобного APIпишите чистый код, избавьтесь от неприятных запаховузнайте в чём настоящая цель исключений, как их выбрасывать и как обрабатыватьзащитите ваши типы от некорректного использования посредством грамотной инкапсуляции Основы построения объектно-ориентированных инфраструктур Несмотря на всю мощь C#, можно очень часто видеть плохо спроектированные и реализованные типы в реальной жизни. По факту, C# является одним из богатейших языков по своим возможностям среди объектно-ориентированных языков в настоящее время. Но с большой силой приходит большая ответственность. Довольно сложно использовать все возможности грамотно. Возможно, вы слышали об одном весьма известном утверждении: "большинство программного кода - отстой". Этот курс полностью посвящён тому как писать хороший код, а не отстойный. Владение навыками написания хорошо спроектированных и реализованных типов является условием для того, чтобы считаться профессионалом. Содержание и обзор Этот курс направлен на любых C# программистов, от новичков до профессионалов. Темы, которые освещены в курсе релевантны для всех C# программистов, поскольку все программисты проектируют и реализуют различные API. Сложность тем довольно разная: от простейших до сложных, требующих серьёзных познаний в C#. По ходу курса мы разберём множество примеров кода, таким образом вы будете изучать как теоретический так и практический материал. Начав с характеристик и принципов по которым проектируются типы, мы пойдём дальше, изучая грамотное именование членов API, важность небольшого количества параметров метода, проблему передачи булевых параметров в методы и множество других тем. Затем мы перейдём к понятию инкапсуляцию. Что означает инкапсуляция и как инкапсулировать тип? Мы познакомимся с компромиссами, возникающими при инкапсуляции типов. Как ни странно, множество программистов не понимают что же такое инкапсуляция на самом деле. Изучив тему инкапсуляции, вы научитесь строить непротиворечивые и надёжные типы. После этого, вы познакомитесь с проблемой обработки исключений. Да, это крепкий орешек. Мы начнём с обсуждения того почему мы вообще используем механизм исключений для обработки ошибок. И по какой причине команда C# не внедрила в язык какой-либо другой способ работы с ошибочными ситуациями? В конце курса,вы познакомитесь с методиками борьбы против null-значений. Как, наверное, вы слышали, Тони Хоар называл проблему нулевых ссылок проблемой на миллиард долларов. Вкратце, курс покрывает следующие темы: Принципы разработки APIКак давать хорошие имена для членов API и какие соглашения именования существуют на платформе.NETРаспространённые проблемы проектирования и реализации API: классы vs структуры, абстрактный класс vs интерфейс, порождающие паттерны vs конструкторы, реализация паттерна Dispose (освобождение ресурсов)Обработка ошибок. Крайне проблематично разрабатывать надёжное ПО, в котором обработка ошибок основана на исключениях. Мы выясним почему это так и как бороться с проблемами обработки ошибокБорьба против нулевых ссылок. Null-значения всегда были ещё той головной болью. NullReferenceException это очень частый гость в ПО. Мы посмотрим на различные пути уменьшения разрушительной силы нулевых ссылок. Зачисляйтесь на курс и прокачайтесь в проектировании и реализации типов на C#!