Мой проект быстро развивается, и мы не всегда стремимся к чистоте вещей и правильному версионированию.
Мне трудно отследить неиспользуемые и пропущенные функции (отсутствующие параметры).
Есть ли инструмент / IDE, который позволяет отслеживать эти случаи? В идеале плагин Atom?
ты можешь использовать
Джебрейнс PHPStorm безусловно, лучшая IDE, которую я когда-либо использовал. Он информирует вас о вещах, которые вы просите, и многое другое. У этого также есть некоторые довольно эффективные особенности рефакторинга; скажем, вы хотите изменить имя функции — вы просто поместите курсор на функцию / метод, нажмите Shift+F6
, напишите новое имя, и PHPStorm проверит весь ваш проект, чтобы найти способы использования и соответственно переименовать их.
Для проверки одного файла класса я использую этот простой фрагмент кода:
<pre>
<?php
error_reporting(E_ALL & ~E_DEPRECATED);
ini_set('display_errors', 'on');
$file = dirname(__FILE__) . '/ojsis.php';
$arr = file($file);
$foundMethods = array();
foreach ($arr as $line) {
if (ereg ('function ([_A-Za-z0-9]+)', $line, $regs)) {
$foundMethods[] = $regs[1];
}
}
$usedMethods = array();
foreach ($arr as $line) {
if (ereg ('\$this\-\>([_A-Za-z0-9]+)\(', $line, $regs)) {
$usedMethods[] = $regs[1];
}
}
$unusedMethods = array_diff($foundMethods, $usedMethods);
$misssingMethods = array_diff($usedMethods, $foundMethods);
echo "defined and never called internally:\n";
print_r($unusedMethods);
echo "\ncalled internally and not defined:\n";
print_r($misssingMethods);?>
</pre>