На моей работе мы используем инструмент PMD cpd для проверки дублирования кода в нашем репозитории C++. Этот инструмент время от времени запускается по всему репозиторию, но это довольно медленно. В промежутках между запросами на включение я хотел бы посмотреть, не приводит ли изменение, внесенное разработчиком, к увеличению дублирования кода.
Предположим, в репозитории есть n файлов, а запросы на включение изменяют 3 файла. Инструмент PMD cpd, как правило, проверяет дублирование кода между всеми файлами, но меня интересует только то, имеют ли эти 3 файла дублирование кода с другими файлами n-3 (и между 3).
Следовательно, вместо поиска дублирования кода между всеми n файлами, которые являются (n)(n-1)/2 проверками, я хотел бы искать дублирование кода между n файлами для k файлов из запроса на включение, которые ((n)(n-1)-(n-k)(n-k+1))/2 = (k-1)(2n-k)/2 проверки. Для n=10000 и k=100 это примерно уменьшает 50 миллионов проверок до 1 миллиона проверок.
Из документации я не вижу четкого способа это проверить. Возможно ли это или есть ли у кого-нибудь способ сделать это эффективно?
Подробнее здесь: https://stackoverflow.com/questions/798 ... or-a-few-f
Использование средства проверки дублирования кода PMD cpd, как проверить дублирование нескольких файлов в большом репози ⇐ C++
Программы на C++. Форум разработчиков
1762868044
Anonymous
На моей работе мы используем инструмент PMD cpd для проверки дублирования кода в нашем репозитории C++. Этот инструмент время от времени запускается по всему репозиторию, но это довольно медленно. В промежутках между запросами на включение я хотел бы посмотреть, не приводит ли изменение, внесенное разработчиком, к увеличению дублирования кода.
Предположим, в репозитории есть n файлов, а запросы на включение изменяют 3 файла. Инструмент PMD cpd, как правило, проверяет дублирование кода между всеми файлами, но меня интересует только то, имеют ли эти 3 файла дублирование кода с другими файлами n-3 (и между 3).
Следовательно, вместо поиска дублирования кода между всеми n файлами, которые являются (n)(n-1)/2 проверками, я хотел бы искать дублирование кода между n файлами для k файлов из запроса на включение, которые ((n)(n-1)-(n-k)(n-k+1))/2 = (k-1)(2n-k)/2 проверки. Для n=10000 и k=100 это примерно уменьшает 50 миллионов проверок до 1 миллиона проверок.
Из документации я не вижу четкого способа это проверить. Возможно ли это или есть ли у кого-нибудь способ сделать это эффективно?
Подробнее здесь: [url]https://stackoverflow.com/questions/79816703/using-pmd-cpd-code-duplication-checker-how-to-check-for-duplication-for-a-few-f[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия