ачыстка невыкарыстоўваемай кода ў вялікім праекце PHP

Ці ёсць маніторынг, аналіз інструментаў, якія спрыялі б Ачышчэнне мёртвых файлаў, зменных, функцый і рэфактарынг вялікі, адносна бруднага праекта PHP/рамкі?

3

7 адказы

Калі праблема ачысткі мёртвага кода, спачатку вы павінны знайсці мёртвага кода,

Вы можаце выкарыстоўваць інструменты тэставага пакрыцця (мая кампанія прапануе адзін з іх), каб высветліць, які код можа быць мёртвы, Практыкаванне шмат функцыянальных магчымасцяў альбо праз блок тэстаў або проста запусціць прыкладанне на працягу дня; няма пакрыцця метады X азначае X, верагодна, мёртвы,

Мёртвыя зменныя цяжэй; Вам неабходная інфармацыя пакрыцця для доступу да дадзеных, Я не ведаю любых такіх інструментаў для PHP,

Я не ведаю ні статычных аналізатараў, якія будуць надзейна сказаць вам, калі код/​​зменныя мёртвыя, (HipHop, згаданыя ў іншым адказе, можа быць у стане зрабіць гэта для некаторыя метады, і асабліва для лакальных зменных, але Eval можа выклікаць любую функцыю, якая будзе выклікана або любым пераменным можна спасылацца, так што цяжка атрымаць гэта права на PHP),

Пасля гэтага вы можаце вырашыць, калі вы хочаце выдаліць мёртвых код, або захаваць яго для паляпшэння будучай эвалюцыі,

,

2
дададзена

Калі праблема ачысткі мёртвага кода, спачатку вы павінны знайсці мёртвага кода,

Вы можаце выкарыстоўваць інструменты тэставага пакрыцця (мая кампанія прапануе адзін з іх), каб высветліць, які код можа быць мёртвы, Практыкаванне шмат функцыянальных магчымасцяў альбо праз блок тэстаў або проста запусціць прыкладанне на працягу дня; няма пакрыцця метады X азначае X, верагодна, мёртвы,

Мёртвыя зменныя цяжэй; Вам неабходная інфармацыя пакрыцця для доступу да дадзеных, Я не ведаю любых такіх інструментаў для PHP,

Я не ведаю ні статычных аналізатараў, якія будуць надзейна сказаць вам, калі код/​​зменныя мёртвыя, (HipHop, згаданыя ў іншым адказе, можа быць у стане зрабіць гэта для некаторыя метады, і асабліва для лакальных зменных, але Eval можа выклікаць любую функцыю, якая будзе выклікана або любым пераменным можна спасылацца, так што цяжка атрымаць гэта права на PHP),

Пасля гэтага вы можаце вырашыць, калі вы хочаце выдаліць мёртвых код, або захаваць яго для паляпшэння будучай эвалюцыі,

,

2
дададзена

Facebook's HipHop also has a very fast static code analyzer which will help. Etsy's Nick Galbreath gives a nice presentation on this at http://www.slideshare.net/nickgsuperstar/static-analysis-for-php

2
дададзена

Facebook's HipHop also has a very fast static code analyzer which will help. Etsy's Nick Galbreath gives a nice presentation on this at http://www.slideshare.net/nickgsuperstar/static-analysis-for-php

2
дададзена

Паспрабуйце http://jenkins-ci.org/ , ёсць убудовы для партый інструментаў аналізу кода, які можа выглядаць для бруднай PHP і г.д.

1
дададзена

Калі вы ўключылі Opcache і ўвесь ваш код змяшчаецца ў кэш, вы можаце знайсці некэшированные (і, такім чынам, верагодна, не выкарыстоўваецца) PHP файлы, выкарыстоўваючы наступны фрагмент кода:

$di = new RecursiveDirectoryIterator(__DIR__ . '/src');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
    if (substr($filename, -strlen('.php')) === '.php') {
        if (!opcache_is_script_cached($filename)) {
            echo $filename . "\n";
        }
    }
}
1
дададзена

Калі вы ўключылі Opcache і ўвесь ваш код змяшчаецца ў кэш, вы можаце знайсці некэшированные (і, такім чынам, верагодна, не выкарыстоўваецца) PHP файлы, выкарыстоўваючы наступны фрагмент кода:

$di = new RecursiveDirectoryIterator(__DIR__ . '/src');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
    if (substr($filename, -strlen('.php')) === '.php') {
        if (!opcache_is_script_cached($filename)) {
            echo $filename . "\n";
        }
    }
}
1
дададзена