Как найти .java файлы с высокой сложностью (подсчет фигурных скобок)

find src/ -name "*.java" | while read f; do echo -n "$f "; cat "$f" | tr -dc '{}'; echo; done | awk '{ print length($2), $1 }' | sort -n


Команда «find src/ -name «*.java» | while read f; do echo -n «$f «; cat «$f» | tr -dc ‘{}’; echo; done | awk ‘{ print length($2), $1 }’ | sort -n» выполняет следующие действия:

1. С помощью команды «find» в директории «src/» находятся файлы с расширением «.java».
2. Затем с помощью конвейера «| while read f» каждый найденный файл поочередно передается в переменную «f».
3. Внутри цикла команда «echo -n «$f «» выводит путь и имя файла без новой строки.
4. Затем команда «cat «$f» | tr -dc ‘{}'» открывает файл и удаляет все символы, кроме фигурных скобок.
5. Результат выводится на экран с новой строки командой «echo».
6. Далее вывод каждого файла с фигурными скобками передается в команду «awk ‘{ print length($2), $1 }'», которая выводит длину второго поля (количество фигурных скобок) и первое поле (путь и имя файла).
7. Наконец, команда «sort -n» сортирует вывод по возрастанию количества фигурных скобок.

Эта команда полезна для выявления файлов с высокой сложностью, основанной на количестве фигурных скобок в Java исходном коде. Альтернативным подходом может быть использование инструментов статического анализа кода, таких как Checkstyle или PMD, которые предоставляют подробную информацию о сложности кода.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *