Классная вспомогательная библиотека CUL (Craig's Utility Library)
У всех нас есть полезные классы, накопившиеся за время программирования, классы и расширения, которые следуют за нами из проекта в проект. Обычно они достаточно хороши, чтобы делать работу, и по-прежнему сохраняют нам кучу времени и сил.
Но иногда проще, когда не требуется писать их в первую очередь.
Что если бы была вспомогательная библиотека, в которой было бы что-то для каждого, что она продолжала расти на протяжении ряда лет и сейчас находится в активной разработке? И вы можете либо брать вещи целиком из этой DLL, либо использовать те части, которые требуются?
Да, и исходный кот был бы также доступен?
Вспомогательная библиотека Крейга ( Craig )
Описание проекта
Вспомогательная библиотека Крейга (Craig's Utility Library – CUL) первоначально была спроектирована на протяжении ряда проектов, над которыми я работал. С течением времени я собрал ряд классов для решения различных задач и продолжаю добавлять элементов в свое свободное время. Библиотека написана на C# и использует .Net 4.0, хотя многие классы можно использовать и с более ранними версиями. Еще больше кода можно найти на моем веб-сайте https://www.gutgames.com.
Чтобы получить список возможностей, взгляните на страницу List of Features. Имейте в виду, если обновляетесь с предыдущей версии, то встретитесь со ЗНАЧИТЕЛЬНЫМ обновлением, которое может нарушить выполнение существующего кода. Однако такой вариант был необходим, чтобы перевести код в более управляемое состояние.
Мы говорим о длинном списке возможностей…
Вот несколько фрагментов этого списка:
А вот фрагмент основного решения
И я говорил, что можно получить его в одном пакете/dll со всем, или почти всем, что вам нужно? Вот снимок папки третьей версии выпуска.
Замечание: если вы интересуетесь запуском включенных модульных тестов, вам нужно познакомиться с проектом MoonUnit (и прочесть статью Building Your Own Unit Testing Framework in C# – Part 1 и Part 2). Также заметьте, что библиотека использует профиль .Net 4 Full, а не Client.
Давайте поглядим, как это работает. Одна из клевых областей – работа с изображениями (конечно, есть много клёвых областей, но обработку изображений легче показывать…)
Вот очень быстрый и сырой консольный тест, где я играю с расширением ASCII Art.
Мы берем изображение;
И превращаем его в это (показано в Блокноте);
Лишь две строки кода (которые, конечно, можно превратить и в одну) и все готово (мой любимый тип кода).
Включенные модульные тесты – прекрасный способ научиться использовать библиотеку. Кроме того, туда также включены автоматически сгенерированные документы.
В следующий раз, когда вам понадобиться написать вспомогательный класс/расширение или многократно используемый код взгляните на CUL, чтобы убедиться, что работа уже сделана за вас…