Perl’de yeniyim ve şu anda büyük ve oldukça dağınık bir Perl projesinin düzenlenmesi ve sürdürülmesi görevini üstleniyorum. Koddaki sorunları tespit etmeme yardımcı olmak için perl-critic kullanıyorum (ve ayrıca bana en iyi uygulamaları öğreteceğim).Perl koşullarında her zaman yanlış olarak değerlendirilen erişilemez kod nasıl algılanır?
Varolan kod, kodlayıcının ulaşılamaz bir kod oluşturduğu yerlere sahiptir. Örneğin, bunlar kod dallarının bazı açıklama haline tembel yolu olarak '& & 0' eklendi: (Ben perl veya Eleştirmen tür durumlarda ulaşılamaz kod hakkında beni uyarmak ümit ediyorum
if ($req->param('donut') && 0) {
unreachable code...
} else {
always branches to here...
}
nerede koşullu, false değerini değerlendiren sabit bir değere sahiptir, ancak değildir.
Bu tür bir şeyi güvenilir şekilde algılayabilen bir araç veya bir komut parçası var mı?
Açıkçası ben kaynakta '& & 0' için arama olabilir ama kodlayıcı ulaşılamaz kod yaratabilirdi çeşitli yollar bir eğer açıklamaya ekleme '& & 0' yanında bulunmaktadır.
+1'i vurgulayacaktır.Şartlılığın ilk kısmının yan etkisi bana açık olsa da (koşullu ifadenin kendisinin derlenemeyeceği anlamına gelir), koşulun ikinci kısmı tarafından getirilen bağlamın değişmesi hakkında bir şey fark etmemiştim. . –