En az şaşkınlık yasasını biliyor musunuz? Kökeninden emin değilim, ama önce onu ilk önce “Programlama TAO’yu” öğrendim. Basitçe söylemek gerekirse, yazılımın her zaman kullanıcılara her zaman en azından şaşırtaan bir şekilde yanıt vermesi gerektiği ilkesidir. Başka bir deyişle, bir kağıt yazdırmak, dosya sisteminizden silinmemelidir.
En az şaşkınlık yasasını takiben, zor bir hataya çarptığında bir program ne yapmalı? Kullanıcının bilmesine izin vermesi gerektiğini söyleyebilirsiniz. Ne yazık ki, birçok sistem bu günlerde halı altında fırçalayın.
Bence pencerelerle başladı. Ya da belki Mac. Düşünme, son kullanıcıların çok aptal ya da çok korkunç hata kodları ya da derinlemesine mesajlar var, bu yüzden biz sadece dışarı çıkıyoruz. NOKTA DURUMU: Eşimin iPhone fotoğraf yayınlamazdı. Bir Android cihaz taşıdığımı düşünerek uzmanım, ama buna bakmayı kabul ettim. Ne denedim olursa olsun, aynı işe yaramaz mesajı aldım: “Fotoğrafları şimdi ideal yayınlayamam. Lütfen daha sonra tekrar deneyiniz.” Sadece bu çok bilgilendirici değil, aynı zamanda problemin daha sonra ağ gibi düzeltebilecek bir şey olduğunu da ifade eder.
Gerçek suçlu? İCloud Hizmet Şartları değişmişti ve yeni sözleşmeyi kabul etmedi. Bir noktada bunu yapmasını istemek isteyen bir his var, ama ne sebepse onu kaçırdığı için. Ayarlara kazıncaya kadar ve bu şartları kabul etmek için kutuyu işaretleyin, “Daha sonra” asla olmayacaktı.
Ama sadece iPhone’lar değil. Windows böyle şeylerle doludur ve sadece daha fazla ayrıntı ile etkinlik müşterisinde bir giriş yapacağınızı umarsınız. Ayrıca şimdi Linux’ta çok daha fazlasını görüyorum, ancak nasıl bulacağınızı biliyorsanız, normalde bir günlük dosyası olmasına rağmen. Hata olan programların kullanıcıyı şaşırtma riskini karşıladığını, hatta yanlış olanların açıklaması yoksa, çok daha şaşırtıcı oluyor. Bankanızın size bir not göndermeyi hayal edin: Hesabınızla ilgili bir sorun var. Yani cevap veriyorsun: “Aşırı gravür miydim?” “Hayır” cevabını veriyorlar. şimdi ne olacak? Bu, bugün birçok yazılım hatasının durumu.
Masaüstü sistemlerinde veya web sitelerinde gerçekten bahane yok. Ancak, minik gömülü sistemleri affetmek isteyebilirsiniz. NO! Geçenlerde 3D yazıcı ürün yazılımı Marlin’i bir Anet A8 kartına – çok az hafızaya sahip 8 bit bir işlemci – çok fazla yıl boyunca tekrar yazılımı olan 8 bit bir işlemci. İlk kez bir AutoLevel probunu yapmaya çalıştığımda mesajı aldım: Probing başarısız oldu. Bu kadar.
Size daha fazla bilgi edinmek için AutoLevel hata ayıklamasını açabileceğinizi, ancak ben zaten% 98 flaş kullanıyorum, bu nedenle bir sürü özelliğin kaldırılmasını ve kodu yeniden oluşturmasını gerektirir. Ama neden eski günlerde yapacağımız gibi yapmıyorsun:
birim global_error = 0;
void do_something (void) {
global_error = 1;
if (proses1 () == başarısız) geri dönüş;
global_error ++;
if (proses2 () == başarısız) geri dönüş;
. . .
global_error = 0;
dönüş;
}
Bu çok fazla yer almıyor. Artık probing başarısız (8) gibi bir şeyi bildirebilirsiniz (8) ve en azından koda gidip 8. adımın ne başarısız olduğunu çözebilirim. Eminim, birinin bir kod listesini bile göndereceğinden ve böyle bir durumda belirttiklerini bile gönderir.
Çok fazla havai? Bana hatanın gerçekleştiği program sayacını söyle. Bu oldukça yaygın bir uygulama olarak kullanılır. Verilen, bir hafıza haritası dosyasına sahip olmasını ve nasıl okunacağını bilmenizi gerektirir, ancak hala hiçbir şeyden daha iyidir.
Projelerin ve yazılımların nasıl çalışması gerektiğini düşünerek çok zaman harcıyoruz. Ancak, işe yaramadıklarında ne olacağını düşünerek zaman geçirmemiz gerekiyor. Devrede hata ayıklama yapabilmemiz ya da bir mantık analizörünü bağladığımız, ancak bu kullanıcılarımıza yardımcı olmaz. Sadece senin için olsa bile, neden kendin biraz daha kolay yapmıyorsun?
Daha önce de söylediğimiz gibi, “Çok fazla bilgi diye bir şey yok.” Sistem hatalarına karşı korumaya ek olarak, kullanıcıların kendilerini şaşırtmamalarına da yardımcı olabilirsiniz.
Resim Kredisi: [Elisa Ventur] Unclash.com sayesinde