Erken dönmek iyi mi?

Tam metin 1634 Kelimeler, tahmini öğrenme süresi 5 dakika

Kaynak: Pexels

Erken iadelerin kullanılıp kullanılmaması bir sorundur ve her ikisinin de nedenleri vardır.

Erken dönüş kullanımıyla ilgili olarak, programcıların genellikle güçlü kişisel tercihleri vardır. Bazı insanlar onu asla kullanmazken, diğerleri buna takıntılıdır. Ancak kişisel programlama stilinin yanı sıra başka nedenler var mı?

Bu makalede Xiaoxin, kodda erken dönüşün neden kullanılabileceğini ve neden bazı programcıların erken dönüşü kullanmayı seçmediklerini sizinle tartışacak.

Erken dönüş konusunu incelemeye başlamadan önce, "erken dönüş tam olarak nedir?"

Erken dönüş, yazılan işlevin sonunda beklenen sonucu döndürebileceği anlamına gelir.

Fonksiyonda, kodun geri kalanı, fonksiyonun amacından sapmayı önlemek için terminali mümkün olan en kısa sürede tetiklemelidir.

Erken dönüş operasyonu adından da anlaşılacağı gibi. Aşağıdakiler erken dönüşün çalışma modudur:

functionsomeFunction (someCondition) {if (! someCondition) {return;} // Bir şeyler yapın}

Ancak her zaman olduğu gibi, programlamada her zaman bir soruna birden fazla çözüm vardır. Bu çözümlerin her ikisi de çok iyi, iyi ile kötü arasında fark yok.

Erken dönmek için başka bir alternatif şudur:

function someFunction (someCondition) {if (someCondition) {// Bir şeyler yapın}}

Öyleyse neden erken dönüş kullanmayı düşünelim?

Erken dönüşü kullanmayı düşünmenin nedenlerinden biri, kodun görsel efektini daha yumuşak hale getirmektir. Diğer alternatif yöntemleri seçerseniz, if ifadesini kullanın, ek girintiye ihtiyacınız vardır ve erken dönüş kullanmanız gerekmez ve kod daha okunaklı hale gelir.

Erken dönüşü kullanmanın bir başka nedeni de, özellikle yaptığınız değişiklikler girintiyi değiştirecekse, diffs komutunu daha kısa hale getirebilmesidir. Erken dönüş yöntemini kullanmazsanız, yalnızca birkaç satır kod olsa bile, diff komutu çok zahmetli olacaktır.

Erken dönmenin son nedeni, programcının güvencesi. Erken dönüşü kullanarak, önce geçersiz durumları (koruma modu) hariç tutabilir ve ardından işlevin "gerçek" gövdesine odaklanmak için boş bir satır bırakabilirsiniz.

Ayrıca erken dönüş kullanmıyorsanız, yalnızca bir çıkış noktası vardır, bu da insanların işlevin sonuna kadar kafalarındaki tüm kodu aramaları gerektiği anlamına gelir.

Öyleyse neden kullanmıyorsunuz?

Öte yandan erken dönüşün kullanılmaması için bazı nedenler var. Yazar, StackOverflow web sitesinde, erken dönüşün kullanılmasına karşı nedenlerin neredeyse çoğunu kapsayan iyi bir inceleme makalesi okudu:

"Genel olarak, insanlar işlevlerde olabildiğince az geri dönüş noktası ister. Asıl neden, kod okumayı basitleştirmektir, çünkü her işlevin parametreleri alabileceği, mantığı çalıştırabileceği ve sonuçları döndürebileceği her zaman varsayılabilir.

Dönüş sayısını artırmak, genellikle mantığı karmaşıklaştırır ve kodu okumak ve tam olarak anlamak için gereken süreyi artırır.

Kod bakım aşamasına ulaştığında, acemi programcılar mantık hakkında akıl yürütmeye çalıştıklarında, çoklu geri dönüşler verimliliklerini büyük ölçüde etkiler (özellikle yorumlar dağıldığında ve kod belirsiz olduğunda kötü).

İşlev ne kadar uzunsa sorun o kadar ciddi olur.

Yorum Mark Kegel'den geliyor. Yazar, on yıldan fazla bir süre önce yayımlanmış olmasına rağmen, erken dönüşü kullanmamaya karar verirseniz, yorumun hala anlamlı olduğuna inanıyor.

Bazı durumlarda erken dönüş kullanmak daha abartılıdır. Aşağıdaki örneğe bir göz atın:

  • function setAge (yaş) {
  • eğer (! yaş) {
  • dönüş;
  • }
  • this.age = yaş;
  • }
  • Burada erken dönüşü kullanmak yanlış görünüyor, koda yarardan çok zarar verebilir, çünkü daha kısa olabilir:

    function setAge (yaş) {if (yaş) {this.age = yaş;}}

    Kaynak: Pexels

    Erken dön, kullanmayı seçer misin, seçmez misin? Kod sorunsuz çalıştığı için erken dönüşü kullanmayı seven bir programcı mısınız? Yoksa sonuç işlevde yalnızca bir kez mi döndürülür?

    Şimdi sıra sende! Acele edin ve erken dönme konusundaki düşüncelerinizi paylaşın ~

    Yorum Beğen Takip Et

    Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım

    Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun

    Yapay zeka yeni bir koronavirüs uyarısı veren ilk kişi mi? Yapay zeka sandığınızdan daha güvenilir
    önceki
    Xinsheng Bugün | Üretimden Kaldırıldı! On milyonlarca AirPod siparişi koronavirüs tehdidi altında
    Sonraki
    Yaşamak dünyayı değiştirmektir, yapay zekanın iklim anormalliklerini azaltmasının 4 yolu
    İnsanlar nihayet hareketsiz yapay zeka yarattı ...
    Bugün Core Voice | 4G / 5G! Raytheon Mountain'ın iletişim ve bilgi hizmetleri etkinleştirme koşullarına sahiptir.
    Python'da bir sözlüğün değerini almak için köşeli parantez kullanmayı bırakın, bu yöntemi deneyin
    Apache Kafka'da makine öğrenimi ve gerçek zamanlı analiz uygulaması
    Core Voice Today | Wuhan Viroloji Enstitüsü, 21 Ocak'ta bir Çin buluş patenti için Remdesivir'i açıkladı
    Geliştirici görmeli! KISS, DRY ve izlenecek kodlama ilkeleri
    2020'de veri biliminde çığır açan dört adım
    Bugün Core Voice | "Zorlu" Salgın Önleme! Sakinler topluluğa girmek için 5 metre uzunluğundaki bir dezenfeksiyon kanalından geçmelidir.
    Çin Tüketiciler Derneği, kişisel mülkiyet güvenliğini ve kişisel gizliliği korumak için Bahar Festivali sırasında tüketime yönelik yedi ipucu yayınladı
    Yaşamın geçişini açmak için ülke çapında bir çaba gösterildi ve birçok yerde itfaiye departmanları, itfaiye aracı geçitlerini işgal etmenin gizli tehlikelerini araştırdı.
    Yeni Zelanda'nın Kuzey Adası'nda orman yangını çıktı
    To Top