Iyi programlama uygulaması tüm fonksiyonları bir return ifadesi var mı?

8 Cevap php

Ben bir temel programlama sorum var. Ben olmayan her işeme fonksiyon PHP komut bir "dönüş" bildirimde gerektiğini bilmek istiyorum.

Aşağıdaki iki örnek işlevleri al. Bir programlamak için daha iyi bir yol olurdu ki? Her ikisi de (benim anlayışıma) aynı şeyi yapmak ama "iyi uygulama" ve neden olduğu?

function displayApple1($str){
    if($str == 'apple')
        echo $str;
}

function displayApple2($str){
    if($str == 'apple')
        echo $str;
    else
        return;
}

8 Cevap

Aşırı return kötü bir şeydir. Sizin yürütme yolları basit ve anlaşılır olmalıdır; return anahtar kelime aşırı (yanlış) karmaşıklığı ima edebilir.

Sizin ikinci örnek başımı acıyor. Muhtemelen şöyle olmalıdır:

funciton displayApple2($str){
    if($str == 'apple')
        echo $str;
    return;
}

Ben özellikle bir şey dönen değilim eğer Şahsen, ben dönüş ifadeleri kullanmayın.

Tüm fonksiyonlar bir dönüş bildirimde olmamalıdır.

Hiçbir şey yaptığında bu sadece bir one more line of code.

Ben sonuç okumak daha kolay ve gizlemek hatalar için daha az yer sunduğu gerekçesiyle "daha az kod iyidir" düşkündürler.

Eğer gerektiğinde sadece aksi dil bu kadar şey yapalım, bir dönüş kullanmayın.

Bir C işlevden şey dönmek istemiyorsanız, o zaman dönüş değeri fonksiyonu olarak adlandırılır anda RAM önceden idi rastgele ne değeri olur. Hayır ile bir fonksiyon return rastgele değerler dönen görünüyor çünkü bu istenmeyen bir durumdur. Eğer rastgele çöp dönen değiliz nedenle, içinde C her zaman olmayan her void C fonksiyonunda bir return deyimi olmalıdır.

PHP Bu sorunu yoktur - Bir return deyimi kullanmak istemiyorsanız, fonksiyonlar guaranteed null dönecektir, böylece vardır onları bırakın ve biraz yer kazanmak için daha iyidir.

Evet bir "funciton" bir değer döndüren bilmem, ama sizin için ne faydası olacak? Eğer bu durum için iyi olduğunu düşünüyorum olduğunda kullanın. Temiz ve yararlı kod yapmak çok iyi bir uygulama :)

Hayır, Az Kod Fun = çünkü ^ ^

Btw, ben getirileri olmadan işlevler Altyordamlar olması gerektiğine inanıyoruz.