PostSharp - программа для анализа кода на C# , предназначенный для современной разработки .NET. Позволяет упростить код, программировать более грамотно.
Инструменты PostSharp:
-
Framework - позволяет автоматически внедрение и использование шаблонов дизайна кода для целей аспектно-ориентированного программирования. Позволяет писать более чистый код для нужд производства. Позволяет проверять архитектуру и дизайн кода по стандартным или пользовательским правилам. Позволяет строить производственный код из отдельных блоков (встроенных или собственных).
-
MVVM - позволяет избавиться из большинства случаев использования интерфейса INotifyPropertyChanged, напоминающем об изменении значения свойства. Позволяет отслеживать изменение свойств и свойств зависимостей любой сложности с помощью кодовых контрактов как более читаемого способа проверки значений во время компиляции и исполнения кода. Также помогает избегать утечек памяти.
-
Logging. Позволяет вести журналы кода автоматически, без участия программиста, эту функцию можно включать/выключать во время выполнения. Программное ведение журнала никак не влияет на исходный код. Ведущийся журнал подробен и содержит всю необходимую информацию: имя метода, параметра и типа, значение в определённый момент, время обращения, имя файла и номер строки в нём и так далее. Работает на абсолютно любом методе (не только на публичном). Полностью настраиваемый, работает с большинством фреймворков.
-
Threading. Позволяет производить диагностику потоков без использования замков для решения проблем многопоточности, также содержит проверенные модели потоков для упрощения многопоточного кода.
-
Инструмент кэширования. Позволяет упростить процесс кэширования, не писать лишние строки кода, избежать ошибки генерации ключей. Поддерживает большинство алгоритмов кэширования, имеет множество настроек с возможностью создания собственного хранилища.
Купить PostSharp для упрощения написанного на C# кода. PostSharp позволит писать более чистый и понятный производственный код.
Бесплатная версия Essentials содержит основной функционал и помогает ознакомиться с программой.