(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Проверь свой T-SQL код!

Источник: habrahabr
hTLK

В далёком 2005 году я менял стек технологий с Java на .NET и поначалу в Visual Studio мне очень не хватало возможностей, которыми располагала IntelliJ IDEA. Пробуя различные плагины к студии, я остановился на ReSharper'е и по сей день его использую. Недавно стало интересно, есть ли похожие продукты для работы с SQL Server, а точнее с T-SQL кодом хранимых процедур. Собственно про один такой продукт я и хочу рассказать в этой статье.

Итак, SqlCodeGuard - это бесплатный addin для SQL Server Management Studio для статического анализа T-SQL кода. Ну и плюс пара-тройка других возможностей.

Основные возможности

Поиск потенциальных ошибок в коде

Насколько я понимаю, поддерживается более сотни ситуаций различной направленности от "лучше так не делать" до "а вот тут - гарантированно свалится" и "причина тормозов - вот она".

Поиск потенциальных ошибок в коде

Поиск зависимостей объектов

Позволяет определить, кто и где используется (какие таблицы использует процедура/функция/представление) и решает обратную задачу - позволяет определить - кто использует тот или иной объект, причем для таблиц и представлений - как (!) используется - выборка данных/вставка/обновление/удаление.

Поиск зависимостей объектов

Cписок объектов, которые не были найдены в анализируемой БД

Побочная возможность. Позволяет, например, отслеживать опечатки в наименованиях таблиц, процедур и т.п. Как известно, SQL Server позволяет создать процедуру, которая использует несуществующую процедуру или таблицу или удалить объект, который используется в процедурах/представлениях. Такие ошибки проявятся только на этапе выполнения, так что нахождение их на этапе кодирования - немалый плюс.

Cписок объектов, которые не были найдены в анализируемой БД

Древовидное отображение структуры кода

Полезно для сложных процедур - позволяет быстро просмотреть/понять логику сложного кода а также оценить сложность процедуры/функции/представления в неких единицах сложности "P". Заодно подсчитывает количество стейтментов.

Древовидное отображение структуры кода

Преимущества продукта...

  • Бесплатен :)
  • Большой набор правил
  • Возможность проверки как отдельного запроса так и всей БД целиком
  • Интеграция с Visual Studio и Database Project
  • Скорость (БД из 3000 объектов проверяется за 17 секунд, из 30К объектов - 150 секунд)
  • Приличный набор набор правил для поиска операторов и конструкций языка, которые объявлены устаревшими и поддержка которых будет убрана (или даже уже убрана) в ближайшее время. Позволит быстро анализировать БД при миграции на новые версии сервера.

И, что представляет особый интерес для групповой разработки в больший компаниях - предоставляется специальное API, которое позволяет использовать возможности проверки кода в своих приложениях. Например, можно встроить проверку SQL кода в свой build-process или реализовать Checkin Policy.

… и его недостатки

  • Недостаточная документированность. Впрочем, сам интерфейс довольно прост, но вот описать более подробно правила проверки - было бы неплохо.
  • Непонятно как интегрировать SqlCodeGuard и Database Project. Поддержка на сайте заявлена, но непонятно - а как, собственно?
  • Некоторые экзотические конструкции языка не распознаются. Также временами спотыкается на ключевых словах в качестве идентификаторов (наименования таблиц, столбцов и т.п.).

Неплохо было бы чтобы была возможность "из коробки" использовать интеграцию с continuous integration, но пока что этого нет.

Краткое резюме

В целом, несмотря на определённые недостатки, SqlCodeGuard вполне пригоден к применению как отдельными разработчиками, так и, вероятно, группами разработчиков для обеспечения единой политики написания кода а также для упрощения анализа существующих БД.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 23.01.2014 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft 365 Business Standard (corporate)
Microsoft 365 Apps for business (corporate)
Microsoft Windows Professional 10, Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Adobe Photoshop: алхимия дизайна
Работа в Windows и новости компании Microsoft
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100