Если вы посмотрите на аналогию с вашей базой данных по отслеживанию ошибок, большое количество из них - это ошибки с низким приоритетом, к которым вы, вероятно, никогда не попадете. Конечно, это настоящие ошибки, и вы хотели бы их исправить, но большинство программистов работают с очень реальными ограничениями и не имеют времени для решения всех проблем. Недавно я написал статью о особой природе дефектов статического анализа .
Одно важное отличие в устранении ошибок статического анализа заключается в том, что с ними, как правило, гораздо легче справиться, чем с регулярно сообщаемой ошибкой. Таким образом, может быть полезно быстрое сканирование дефектов для выявления не только высокоприоритетных элементов, которые необходимо исправить, но и тех, которые легче всего исправить. В конце концов, дефекты статического анализа обнаруживаются очень рано в процессе разработки, и конкретные части рассматриваемого кода очень четко изложены. Таким образом, вы, скорее всего, поймаете немало низко висящих фруктов на низкоприоритетных.
Различные стратегии, которые я видел, использовались для достижения успеха:
* Прежде всего, убедитесь, что анализ настроен правильно. Статический анализ поставляется «из коробки» с заводскими настройками и не может понять весь код. Если вы не можете настроить его самостоятельно, обратитесь за помощью (отказ от ответственности, мы предоставляем такую помощь). Вы снизите уровень ложных срабатываний и найдете больше хороших ошибок.
* Определите характеристики, которые по большей части определяют приоритеты дефектов (это могут быть конкретные категории, конкретные области кода, встроенная оценка приоритетов, предоставляемая инструментом статического анализа и т. Д.).
* Определите, какой уровень порога важен, и, возможно, сделайте его критерием приемлемости (например, необходимо учитывать все высокие и критические значения)
* Удостоверьтесь, что каждый дефект, который блокирует критерии приемлемости, адресован (обращен, означая, что по крайней мере он должен быть рассмотрен, потому что некоторые могут быть ложными срабатываниями)
* Убедитесь, что помеченные как ложноположительные проверены либо с помощью процесса проверки кода коллег, либо с помощью процесса конечного аудита, чтобы у вас не возникало проблем с неправильной маркировкой.
Итог: выберите, на чем сосредоточиться, рассмотрите, что необходимо, не исправляйте все, если ваши бизнес-требования не заставят вас