Comp.lang.c ++ 'da devam eden bir tartışma var . C ++' da yalnızca varsayılan olarak hata ayıklama yapılarında bulunan iddiaların üretim kodunda tutulması gerekip gerekmediği konusunda denetlenmektedir.
Açıkçası, burada benim sorum bu yüzden her proje, benzersiz değil çok olsun iddialar tutulmalı, ancak hangi durumlarda içinde bu tavsiye / iyi bir fikirdir.
İddiaya göre, demek istediğim:
- Yanlış olduğunda yazılımda bir hata gösteren bir koşulu test eden bir çalışma zamanı denetimi.
- Programın durdurulduğu bir mekanizma (belki de gerçekten minimum temizlik çalışmasından sonra).
Mutlaka C veya C ++ hakkında konuşmuyorum.
Benim düşüncem, programcıysanız, ancak verilere sahip değilseniz (çoğu ticari masaüstü uygulamasında olduğu gibi), bunları devam ettirmelisiniz, çünkü başarısız bir onaylama bir hata gösterir ve gitmemelisiniz kullanıcı verilerini bozma riskiyle karşı karşıya. Bu, sizi göndermeden önce güçlü bir şekilde test etmeye zorlar ve böcekleri daha görünür hale getirir, böylece tespit edilmesi ve düzeltilmesi daha kolaydır.
Fikriniz / deneyiminiz nedir?
Alkış,
Carl
İlgili soruyu burada görün
Yanıtlar ve Güncellemeler
Hey Graham,
Bir iddia hata, saf ve basittir ve bu nedenle bir iddia gibi ele alınmalıdır. Bir hata sürüm modunda ele alındığından, gerçekten iddialara ihtiyacınız yoktur.
Bu yüzden iddialardan bahsederken "böcek" kelimesini tercih ederim. Her şeyi daha açık hale getiriyor. Bana göre "hata" sözcüğü çok belirsiz. Eksik dosya bir hata değil, bir hatadır ve program bununla başa çıkmalıdır. Boş bir göstergenin kuralsızlığını kaldırmaya çalışmak bir hatadır ve program bir şeyin kötü peynir gibi koktuğunu kabul etmelidir.
Bu nedenle, işaretçiyi bir iddiayla, normal hata işleme koduyla dosyanın varlığını test etmelisiniz.
Konu dışı bir konu ama tartışmada önemli bir nokta.
Head-up olarak, iddialarınız başarısız olduklarında hata ayıklayıcıya girerse neden olmasın. Ancak, kodunuzun kontrolünün tamamen dışında bir dosyanın bulunamamasının birçok nedeni vardır: okuma / yazma hakları, disk dolu, USB aygıtı takılı değil, vb. Üzerinde kontrolünüz olmadığından, iddiaların bununla başa çıkmanın doğru yolu değil.
Carl
Thomas,
Evet, Kod Tamamlandı ve bu tavsiyeye kesinlikle katılmıyorum demeliyim.
Özel bellek ayırıcısının vidalarını söyleyin ve başka bir nesne tarafından kullanılmakta olan bir belleği sıfırlar. Bu nesnenin düzenli olarak kayıttan çıkarıldığı bir işaretçiyi sıfırlarım ve değişmezlerden biri bu işaretçinin asla boş olmaması ve bu şekilde kaldığından emin olmak için birkaç iddianız var. İşaretçi aniden boşsa ne yaparsınız. Etrafında () çalışmasını umuyorsun?
Unutmayın, burada ürün kodundan bahsediyoruz, bu nedenle hata ayıklayıcıya girip yerel durumu denetlemiyoruz. Bu kullanıcının makinesinde gerçek bir hatadır.
Carl