Платформа компилятора .NET становится все больше, и в то же время вокруг нее растет набор инструментов. Таким образом, её становится легче использовать. Хотя написание Source Geneartor - кода, который разбирает и анализирует ваш код, — непростая задача, он может быть полезен по-разному. Один из способов, которому я недавно научился благодаря моим коллегам, — это рефакторинг. Обычно код вашего анализатора исходного кода и/или генератора будет не самым простым для чтения и поддержки. Но идея в том, что это не всегда нужно! Идея состоит в том, что вы должны использовать генератор исходного кода как временное решение, которое упрощает рефакторинг для вас и вашей команды. Ведь п осле некоторого рефакторинга вы можете просто выбросить этот код как устаревший. Пожалуй, рефакторинг - это самое правильное применение идеи .NET Compiler Platform. Я думаю, что на ютубе и в интернете есть много примеров, так что мне не нужно делиться еще одним «примером». Вместо этого я поделюсь пра
Я недавно посмотрел курс Designing & Versioning HTTP/REST APIs от Jeffrey Richter , известнейшего автора таких основополагающих книг как CLR via C# и Windows API via C++ . Надеюсь, вы сталкивались с ними или даже читали их. Я рекомендую этот курс к просмотру, особенно тем, кто считает что дизайн API это легко (что-то вроде "перекладывания JSON'ов"). Однако, как и с многими другими курсами, просмотр такого материала не даёт нужного глубокого понимания вопросов. Даже с таким автором. Комбинирование практики с теорией обязательно в основоении любого материала, а тем более в применении его в условиях релиза Эта рекомендация относится к разработчикам любого уровня. Легко просмотреть курс и поставить новую галочку в резюме, однако "Дьявол кроется в деталях". Во время реальной разработки возникает множество вопросов, о которых не так просто вспомнить в момент обучения. Ну, довольно слов. Давайте рассмотрим конкретный пример, часть курса по теме Versioning