私は Perl に不慣れで、現在、大規模でかなり面倒な Perl プロジェクトの整理と保守を任されています。私は perl-critic を使用して、コードの問題を検出するのに役立てています (また、ベスト プラクティスを教えてくれます)。
既存のコードには、コーダーが到達不能なコードを作成した場所があります。たとえば、コード ブランチの一部をコメント アウトする怠惰な方法として、「&& 0」を追加しました。
if ($req->param('donut') && 0) {
unreachable code...
} else {
always branches to here...
}
perl または Critic が、そのような場合 (条件が false に評価される定数値を持つ場合) に到達できないコードについて警告してくれることを期待していましたが、そうではありません。
この種のものを確実に検出できる、使用できるツールまたはスクリプトはありますか?
明らかに、ソースで '&& 0' を検索できますが、コード作成者が if ステートメントに '&& 0' を追加する以外にも、到達不能なコードを作成する方法がいくつかあります。