Вчера выдалась относительно свободная минута, и я решил его таки найти. После долгих поисков наконец нарыл. Итак, знакомимся - CloneDigger
Устанавливается через easy_install
easy_install -U clonediggerили pip
pip install clonedigger
Доступен также svn-репозиторий.
Для поиска дублей достаточно запустить модуль clonedigger.py и указать в качестве параметра путь к корневой директории проекта. У него есть еще несколько параметров для тонкого тюнинга, но я их не трогал, дефолтных оказалось пока вполне достаточно.
На выходе получаем отчет output.html (если явно не сказали другое), в котором приведены все найденные дубликаты.
Прогнал через clonedigger свой проектик и был очарован. Отличный инструмент, с дефолтными настройками нашел не только известные мне копипасты, но и дубли, образовавшиеся в силу сходности задач в разных местах проекта. В отчете клоны приведены практически в виде готовых для выделения функций, а отличия (читай, параметры) выделены цветом. Для меня, однозначно, must have. Может быть при более плотном использовании и вылезут какие-нибудь козявки, но первое впечатление великолепное. Так что рекомендую.
Комментариев нет:
Отправить комментарий