Какие-либо статические инструменты анализа кода для хранимых процедур? [закрытый]

Я должен сказать, что вы абсолютно правы с точки зрения классического подхода:

  • Если вы впервые создали (или изменили) бизнес-логику вашего приложения и затем покрывают его с помощью (принятия) тестов ( Test-Last approach ), тогда будет очень болезненно и опасно позволить тестам знать что-либо о том, как работает ваше программное обеспечение, другое чем проверка входов и выходов.
  • Если вы практикуете подход Test-Driven , то ваши тесты - это , которые должны быть записаны, чтобы быть изменены, и чтобы отразить использование функций вашего программного обеспечения. Реализация зависит от тестов. Иногда это означает, что вы хотите, чтобы ваше программное обеспечение было реализовано определенным образом, например. полагаться на какой-то другой компонент или даже называть его определенное количество раз. Вот где Mockito.verify () пригодится!

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

19
задан 5 revs, 3 users 100% 10 July 2009 в 16:41
поделиться

7 ответов

Для T-SQL Microsoft имеет выпуск базы данных Комплекта Команды VS (хотя, я верю теперь в dev SKU). Эта ссылка говорит о записи Вашего собственного статического правила анализа кода для T-SQL: http://blogs.msdn.com/gertd/archive/2009/01/01/creating-t-sql-static-code-analysis-rules.aspx

7
ответ дан 30 November 2019 в 04:12
поделиться

Oracle имеет некоторый малоизвестный встроенный материал.

Попытка это в 10-граммовом Выпуске 2 или выше:

ALTER SESSION PLSQL_WARNINGS = 'ENABLE:ALL';

Затем компилируют Ваш МН пакет / пакет SQL (не анонимный блок).

6
ответ дан 30 November 2019 в 04:12
поделиться

Ближайшая вещь, о которой я знаю, - эти предполагаемые и фактические функции плана запросов , доступные в управление Studio SQL Server, но я предположил бы, что существует подобно для другой механизмы SQL.

2
ответ дан 30 November 2019 в 04:12
поделиться

Жаба показывает утилита CodeXpert для статичной проверки МН / кода SQL.

утилита может или просканировать файлы или соединиться непосредственно с базой данных Oracle. Насколько я видел, работы только над Windows.

4
ответ дан 30 November 2019 в 04:12
поделиться

Не то, чтобы я знаю. МН Regardng / SQL, так как Oracle не выставляет большую часть их МН механизма компиляции / механизма компиляции SQL ее твердое для нахождения поддержки инструмента.

большинство, которое я смог сделать, должно запросить словарь данных, чтобы сделать, вещам нравится, отображают зависимости от пакета.

1
ответ дан 30 November 2019 в 04:12
поделиться

Для PL / SQL Toad CodeXpert можно расширить с помощью Sonar , инструмента с открытым исходным кодом для управления качеством кода через плагин.

Я думаю, это было бы возможно также написать плагин для T-SQL.

3
ответ дан 30 November 2019 в 04:12
поделиться

Наша поисковая система исходного кода SD - это инструмент для интерактивного поиска в больших базах исходного кода на многих компьютерных языках (включая PL / SQL) эффективно, предварительно индексируя файлы исходного кода по их токенам (идентификаторам, числам и т. д.). В качестве побочного эффекта этапа предварительного индексирования он вычисляет стандартные метрики: SLOC, Cyclomatic, Halstead, ... для каждого файла и создает отчет. См. Пример на сайте.

Наш SD CloneDR - это инструмент для анализа больших баз кода на наличие избыточного кода. Мы применили его к PL / SQL и увидели около 45% кода, задействованного в клонах. YMMV. CloneDR работает с большим количеством языков; см. сайт, посвященный пробному обнаружению клонов, запускаемому на некоторых из этих языков.

РЕДАКТИРОВАТЬ 10/4/2010:

Наша поисковая система исходного кода разработана для обеспечения очень быстрого поиска по большим кодам на смешанных языках. Это удается путем предварительной индексации исходного кода. В качестве побочного эффекта этапа индексации он вычисляет различные метрики, включая цикломатические меры и меры сложности Холстеда.

Только что добавлено: не инструмент статического анализа, а инструмент, который обычно представляет интерес для людей, интересующихся качеством программного обеспечения: наш TestCoverage для хранимых процедур PLSQL .

2
ответ дан 30 November 2019 в 04:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: