Я предпочитаю хранить каналы передачи изображения в DB и изображениях в файловой системе (с rsync между серверами для хранения всего довольно текущим).
Однако части материала системы управления контентом, который я делаю, нужны изображения в CMS по нескольким причинам - управление видимостью (таким образом, актив сдержан, пока пресс-релиз не выходит), управление версиями, переформатировав (некоторый CMS динамично изменит размеры для миниатюр), и простота использования для соединения изображений в страницы WYSIWYG.
, Таким образом, эмпирическое правило для меня должно всегда прятать материал приложения в файловой системе, если это не управляемый CMS.
http://www.codeplex.com/CloneDetectiveVS
«Clone Detective - это интеграция с Visual Studio, которая позволяет анализировать проекты C # на предмет наличия исходного кода, который дублируется где-то еще».
Визуально многое происходит, когда вы бросаете это в проект с большим количеством дублирования кода. Если это сочетается с тем, что вы впервые используете Clone Detective, поначалу это может немного утомить.
Я действительно рекомендую этот инструмент. Отлично.
CPD работает на уровне токенов, поэтому C # вполне подойдет. Он также имеет некоторые механизмы для выделения имен переменных и других идентификаторов.
Сейчас я использую Поиск дубликатов . Он работает с любым текстовым файлом, и я очень успешно использовал его в своих проектах на C #. Это командная строка, поэтому я интегрировал ее в свои процессы сборки.
Simian - это продукт, который утверждает, что анализирует исходный код на различных языках, включая C #. Никогда не пользовался, так что за это ручаться не могу. Это бесплатно для некоммерческого использования, и они будут продавать его вам для коммерческих проектов.
Я никогда не использовал его, но Simian может вам подойти
Simian (Анализатор подобия) выявляет дублирование в Java, C #, C, C ++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, исходный код Groovy и даже простые текстовые файлы. На самом деле обезьяна можно использовать на любом читаемом человеком файлы, такие как ini файлы, развертывание дескрипторы, вы называете это.
Я несколько раз использовал Simian против баз кода Java и Ruby, и он работал достаточно хорошо. Кажется, он также поддерживает C #. http://www.redhillconsulting.com.au/products/simian/overview.html