IntelliJ IDEAでPHPのコードをリファクタリングする
cmd + shift + a → inspect code でコードの解析ができる
トラブルシュート
ライブラリも解析されてしまう
scopeを設定することができる
設定のUIの出来がいまいち
階層がすべて展開される
どれを除外したのか視覚的に理解困難
解析で例外がexception is never thrown in the corresponding try blockになる。しかし、実際には投げられる
2階層以上の依存についてはPHPDocを参照して解析されるので、間違うことがある 特に、ライブラリ側でこのコメントがない場合に困る
IntelliJもPHPDocを生成するとき、デフォルトではRuntimeException(非検査例外)を継承した場合throwsを省略する 関連
非検査例外は想定外で予測不能、もれなくキャッチさせるのは不可能なので@throws に書かれている必要はない。
としている
PHPStormの @noinspection で指定できるリストは非公開