(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 365 Apps for business (corporate)
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
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-технологии
СУБД Oracle "с нуля"
Новости мира 3D-ускорителей
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100