Android

Hızlı Başarısız Saldırı Programlama neden daha iyi?

Bir keresinde patronumla tartıştım ve hiçbir zaman bir sonuca varamadık çünkü o güvenli bir adam ve ben de hızlı bir adamım. Peki, kim haklı? Yoksa bu sadece kişisel bir seçim mi?

Neden Hızlı Başarısız Tercih Ediyorum?

Bu yazıda, başarısız hızlı saldırgan programlama stilini tercih etmemin 3 nedenini sizinle paylaşacağım.

1. Varsayımlarımı Doğrula

Fail-fast varsayımlarımı doğrular. Kodlamada, genellikle varsayımlarda bulunuruz ve ilk başta varsayımlarımız çoğunlukla yanlıştır çünkü sistemi tam olarak anlamayız. Başarısız / saldırgan programlama stili, varsayımlarımı hızlı bir şekilde doğrulayabilir. Kodum her başarısız olduğunda, bu beni daha iyi bir programcı yapıyor.

2. Daha Az Koşullu Mantık

Fail-safe kod genellikle daha koşullu mantıklarla birlikte gelir. Bu başarısız olursa, başka bir şey yapın ve yine başarısız olursa, başka bir şey yapın. Uygun olduğunda temiz mimari doğru YAPILMADIĞINDA, arızaya karşı güvenli kod çok dağınık hale gelebilir. Fail-fast, bu gereksiz koşullu kontrolleri basitçe kaldırır.

3. Kök Nedeni Daha Hızlı Belirleyin

Hızlı arıza kodu, kodu hemen başarısızlığa uğrattığından, bildirilen hata veya istisna tipik olarak gerçek kök nedene oldukça yakındır. Bu, hata ayıklama süresini önemli ölçüde azaltır. Fail-safe kod başarısız olduğunda, ilk etapta başarısız olmaması gerektiği için temel nedeni bulmakta zorlanacaksınız.

Fail-safe Kullandığımda?

Yine de, yalnızca benim kontrolümde olmayan kodlarla (örneğin harici kütüphaneler) uğraşırken güvenli bir yaklaşım kullanıyorum. Sisteminizin, bu harici kitaplıklardan gelen hataları veya istisnaları işlemek için sağlam olmasını istiyorsunuz. Başka bir örnek, dış bağımlılıklarla uğraşmaktır. Örneğin, istisnalar oluşturacak bir ağ çağrısı veya dosya sistemi çağrısı.

Son düşünceler

Benim düşünceme göre, fail-safe savunma programlama stili çok ideal ve pratik değil çünkü %100 hatasız garanti ve tüm senaryoları kapsayamazsınız. Bir hata olduğunda, temel nedeni bulmak daha zordur. Hiç bir şey başarısız olduğunda kod tabanı üzerinde çalıştınız mı ve hiçbir fikriniz yok mu? Sorunu çözmeniz saatler veya günler sürer.

Bu yüzden benim kodlama yaklaşımım, tüm varsayımları doğrulamak için her zaman hızlı bir şekilde başarısız olmamdır. Yazılım başarısız olursa ve sorunu çözemezsem (kontrolüm dışında olduğu için), kodu arıza emniyetli olacak şekilde dönüştüreceğim. Sonunda, hızlı arıza yaklaşımı aynı zamanda sağlam bir sisteme yol açabilir.

Hangi yaklaşımı tercih edersiniz?

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu