Я являюсь нынешним владельцем устаревшей кодовой базы C++. У него есть несколько десятков исходных файлов &. Проект обычно разрабатывается, строится и развертывается на Linux. В linux система сборки - scons/gcc, а продукт - один исполняемый файл.Индекс работоспособности Visual Studio имеет иерархию только до main()
Я хочу создать индекс работоспособности (MI) для различных частей кода, чтобы показать, что обновление архитектуры в области кода более удобно, чем предыдущая архитектура. Итак, я провел некоторое исследование и обнаружил, что Visual Studio 2013 (для которого у меня есть лицензия Ultimate) сделает это.
Я успешно импортировал весь источник в новое VS2013 «Консольное приложение Win32». Я также получил источник для создания, внеся некоторые изменения для размещения различий между gcc & VS2013.
Я попытался запустить «Анализировать | Вычислить код Метрики для [проект]» и VS2013 произвел эту ошибку:
Project: [omitted] Configuration: Debug Scope: None Assembly: [omitted] Maintainability Index: Cyclomatic Complexity: Depth of Inheritance: Class Coupling: Lines of Code: Message: The project target file '[omitted]' contains no managed code.
Так что я изменил значение «Свойства | Свойства конфигурации | Общие вопросы | Поддержка Common Language времени выполнения «от« Без поддержки CLR »до« Чистой поддержки MSIL CLR », повторите ее и получите в окне« Результаты показателей кода »(сделайте все возможное, чтобы показать, что было выпущено, потому что я не могу опубликовать изображения):
Hierarchy Maintainability Index Cyclomatic Complexity ... ---------------------------------------------------------------------------------- * [executable] (Debug) 36 31 * Global 36 31 * main(int, char** const): int 36 31
Я не могу получить больше деталей, чем main(), просто нет способа для расширения main(), например, с [исполняемым] или глобальным. Я думал, что смогу получить оценку по каждому файлу, по функциям или по классам.
Может кто-нибудь сказать мне:
- Может VS2013 производить MI на ослабленный файл, функцию или класс?
- Как это сделать?
- Есть ли какое-либо программное обеспечение < $ 50, которое я могу запустить на коде в linux для генерации MI?
Я хочу сделать минимальные изменения в коде, но я могу легко сделать изменения проекта типа, свойства проекта, создать новый проект & реимпорта источник, изменить продукт сборки для .dll или .lib , и т. д.
Что такое индекс ремонтопригодности? Может существовать хорошо известный инструмент для Linux, использующий разные имена (например, [C++ check] (http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Main_Page) [отказ от ответственности - я не знаю " t использовал инструмент - я только что нашел его в Google). –
Индекс работоспособности - это, в основном, метрика, указывающая относительную простоту обслуживания кода. Подробнее: http://msdn.microsoft.com/en-us/library/bb385914.aspx и http://www.projectcodemeter.com/cost_estimation/help/GL_maintainability.htm. Спасибо за ссылку на проверку C++, глядя на нее сейчас. –
Просто посмотрел на проверку C++ - это хороший инструмент для статического анализа, но не то, что я ищу ... то, что я ищу, - это то, что может количественно определить, как один из способов реализации сложного математического алгоритма проще читать и поддерживать, чем другой способ его реализации. –