Выявление повторяющегося кода в проекте PHP

У меня есть единственный PHP-файл в устаревшем проекте, длина которого не менее нескольких тысяч строк. Он преимущественно разделяется на несколько различных условных блоков оператором switch с примерно 10 вариантами. В каждом случае есть что-то вроде очень похожего - если не точного дубликата - блока кода. Какие методы доступны для меня, чтобы определить эти блоки кода как одинаковые или близкие к одинаковым, чтобы я мог абстрагироваться от этого кода и начать рефакторинг всего файла? Я знаю, что это возможно очень вручную (разделите каждый оператор case в коде на отдельные файлы и Diff), но мне интересно, какие инструменты я могу использовать, чтобы ускорить этот процесс.

Спасибо.

12
задан skaffman 31 July 2011 в 20:41
поделиться