23 ноября 2016      474      0

Первый этап статического анализа кода

Прежде, чем углубляться в код незнакомого проекта (особенно, если автор кода «почитает корову» и более никак не доступен для связи), бывает полезно убрать заведомо «левые» файлы из рассмотрения. Ведь в процессе разработки, наш «индус» вполне мог оставить заглушки и любые другие бесполезные файлы, которые тем не менее захламляют директорию проекта и совершенно непонятно нужны они или нет…

Представляю вашему вниманию простой, но к сожалению не 100% метод отбрасывания ненужных файлов. Составляем список всех PHP-шных исходников в директории, а затем ищем по содержимому всех файлов упоминание имени из списка

#!/bin/bash

MYPATH=$1
find "$MYPATH" -name "*.php" > /tmp/patterns

for p in $(cat /tmp/patterns); do
    #echo "grep -R $p \"$MYPATH\" > /dev/null || echo $p";
    f=$(basename $p);
    grep -R $f "$MYPATH" > /dev/null || echo $p
done

Приведенный метод не сработает, если в коде проекта необходимый файл инклудится через что-нибудь вида include($module_name . ‘.php’). Однако общую картину вы понять все-таки сможете.

Все темы на сайте

© 2017 BorPost · Копирование материалов сайта без разрешения запрещено