Генерация асинхронного кода на основе синхронного в C#

Пироговский Леонид Михайлович

Аннотация


Цель работы — разработать инструмент для каскадной генерации асинхронных методов из существующих синхронных с учетом антипаттернов асинхронного программирования для уменьшения затрат времени разработчиков. В работе рассматривается несколько существующих инструментов для генерации, рассмотрены их преимущества, недостатки, и приложение используемых ими идей для разрабатываемого инструмента. Итоговый анализатор дублирует целевые синхронные методы, преобразует дубли в асинхронные методы, заменяет синхронные использования на асинхронные там, где это уместно, и удаляет те синхронные методы, которые стали неиспользуемыми. Приложение было протестировано на активно разрабатываемом проекте, результаты его работы были успешно внедрены. Было выделено несколько недостатков и возможностей для доработки приложения.