Сравнение статических инструментов анализа кода в Linux? [закрытый]

У меня возникла та же проблема с предупреждением из-за следующего в родительском объекте утилизатора:

android:animateLayoutChanges="true"

Если вы хотите сохранить анимацию, просто поместите утилизатор в другого родителя, как framelayout. У меня это работало нормально, и анимация тоже играет хорошо.

13
задан Kara 12 December 2013 в 06:22
поделиться

3 ответа

Конечно, есть список википедии . Этот список - всего лишь список, а не сравнение, но одна из ссылок на странице, кажется, по крайней мере частично отвечает на ваш вопрос и (очень кратко) упоминает пару программ, которые вы перечислили.

6
ответ дан 2 December 2019 в 00:47
поделиться

Я использовал splint пару раз и нашел его слишком многословным : Я отключил большинство предупреждений. Я думаю, что этот инструмент может дать интересные результаты, если правильно аннотировать свой код. Без кода аннотации, этот инструмент не очень полезен.

Я иногда использую sparse и считаю его ценным инструментом. Это обеспечивает оболочка для gcc, называемая "cgcc". В результате легко запустить в программе, даже если она содержит много исходных файлов ( экспорт CC = cgcc и вуаля). Эта программа лучше всего работает, если вы анализируете Исходный код ядра.

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

3
ответ дан 2 December 2019 в 00:47
поделиться

Использование -Wall должно быть само собой разумеющимся для каждого разработчика c. Кроме того, может быть хорошей идеей дополнительное использование -Wextra.

Splint может найти другие потенциальные слабые места в вашем приложении, но в большинстве случаев (!) Он выдает ложные предупреждения, поэтому вы должны действительно понимать, что означает шина, с каким предупреждением и в большинстве случаев вам нужно вставить аннотации типа / out / или / unused / в свой код, чтобы шина не кричала на вас. Используя шину, вы должны отфильтровать предупреждения, которые для вас не важны, в противном случае вы потратите слишком много времени на анализ и просмотр большого количества сообщений.

Обратите внимание, что эти инструменты выполняют только статическую проверку кода. Для поиска утечек памяти во время выполнения следует использовать valgrind.

4
ответ дан 2 December 2019 в 00:47
поделиться
Другие вопросы по тегам:

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