Son üç yıldır yazılım geliştiriyorum, ancak kısa bir süre önce iyi uygulamalardan ne kadar cahil olduğum konusunda uyandım. Bu, hayatımı daha iyiye çeviren Temiz Kod kitabını okumaya başlamamı sağladı, ancak programlarımı yazmak için en iyi yaklaşımlardan bazılarını anlamak için mücadele ediyorum.
Ben bir Python program var ...
required=True
her ikisi de dosya adı olan iki bağımsız değişkeni zorlamak için argparse komutunu kullanın. birincisi girdi dosyasının adı, ikincisi çıktı dosyasının adıreadFromInputFile
önce bir girdi dosyası adının girildiğini kontrol eden bir işleve sahip olmakwriteToOutputFile
önce bir çıktı dosyası adının girildiğini kontrol eden bir işleve sahip olmak
Programım # 2 ve # 3 kontrolünün gereksiz olduğunu ve kaldırılması gerektiğine inanmam için yeterince küçük, böylece her iki işlevi de gereksiz bir if
koşuldan kurtarıyor . Ancak, "çift denetleme tamam" olduğuna ve işlevlerin bağımsız değişkenlerin ayrıştırılmasının olmadığı farklı bir konumdan çağrılabileceği bir programda doğru çözüm olabileceğine inanmaya yönlendirildim.
(Ayrıca, okuma veya yazma başarısız olursa, try except
her işlevde uygun bir hata iletisi oluşturmak için bir tane var.)
Sorum şu: Tüm gereksiz durum kontrolünden kaçınmak en iyisi mi? Bir programın mantığı, kontrollerin yalnızca bir kez yapılması gerektiği kadar sağlam mı olmalı? Bunu veya bunun tersini gösteren iyi örnekler var mı?
EDIT: cevaplar için hepinize teşekkür ederim! Her birinden bir şey öğrendim. Bu kadar çok perspektif görmek, bu soruna nasıl yaklaşacağımı ve gereksinimlerime göre bir çözümü nasıl belirleyeceğimi daha iyi anlamamı sağlıyor. Teşekkür ederim!