Hata ayıklayıcıyı sık sık kullanıyorum çünkü büyük bir sistem üzerinde çalışıyorum ve bu yüzden berbatım.
http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html
Kodunuz ne kadar kısa ve sık sık okunuyor olursa olsun, her zaman hatalara sahip olma olasılığı vardır. http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html
Hata yapmak insan ve bir programın doğru olduğunu asla kanıtlayamaz, o zaman neden bu zor işte kendimize yardımcı olmak için hata ayıklayıcı / otomatik test gibi araçları kullanmıyorsunuz?
Kod yeterince kısaysa, basit testler yapılır. Ayrıca, kısa ve hatanın doğasını biliyorsanız, kodu okumak yeterli olabilir. Bununla birlikte, kod tabanı büyük olduğunda, birlikte karıştırılan birkaç dil ve artı 3 kat içerir, o zaman birçok düzeyde iyi test kapsamına ve çok iyi bir hata ayıklayıcıya sahip olmanız gerekir - aksi takdirde çok fazla zaman kaybedersiniz.
Peki, ne zaman hata ayıklayıcıya ihtiyacım yok?
En akıllı kodlayıcı değilim, en tecrübeli değilim, ama yine de bazen hata ayıklayıcıyı kullanmam gerekmiyor. İşte o zaman:
- Kod benim veya iyi yazılmış AND
- Okunabilir bir dilde yazılmış VE
- Genel proje küçük.
Ne zaman bir hata ayıklayıcıya çok güveniyorum?
- Kısa Cevap: sık sık .
- Bir uygulama çöktüğünde. Özellikle konuşlandırıldığında. Bu bilgisayarda VS2010 yüklü olması "Bilinmeyen Hata" ile arasında bir fark yaratabilir
FileNotFoundException
.
- 3. taraf bir kütüphane çöktüğünde veya yanlış davrandığında.
- Kod kötü yazıldığında. Özellikle de aynı dosyaya son 10 yılda 10 farklı kişi dokunmuşsa, bunların 7'si artık şirkette değildir.
- Proje büyük olduğunda
- Kod oldukça yekpare olduğunda.
- Birden fazla katman (GUI, SQL, BL) olduğunda.
"Hata ayıklayıcı" nın birden fazla araca başvurabileceğini unutmayın. Visual Studio hata ayıklayıcı, SQL hata ayıklayıcı (çoğunlukla depolanan procs için) ve SQL profiler (hangi SP çağrıldığını bulmak için) de kullanın. Hızlı bir sysadmin-ish Python betiği yazdığım bu kalibre araçlara ihtiyacım var mı? Hayır. Kendi küçük GUI tabanlı aracımı yaparsam? Bağlı olmak. Net WinForms ise - muhtemelen değil. WPF ise - evet.
Zaten bir "gerçek" programcı ne tanımlar? Hızlı olanı? bilgili? Algoritmalarda iyi mi? İyi dokümantasyon yazar mı? Tam olarak ne zaman bu yeni unvana mezun olur? Büyülü çizgiyi ne zaman geçer?
100 yılı aşkın bir mevcut insan çabasıyla ellerini kirletmeyen bir programcının, karmaşıklık ve kendi sınırlamalarına (kod kalitesinden de öfkelenerek) alçalma şansı olmadığını söyleyebilirim.
Şahsen benim için mevcut olan en iyi hata ayıklayıcıyı kullanmaya çalışıyorum ve sık sık kullanıyorum. Bir görev yeterince basitse ve bir hata ayıklayıcı gerektirmiyorsa - o zaman kullanmıyorum. İhtiyacım olup olmadığını anlamak çok uzun sürmüyor.
...
Şimdi, teoride kod tabanını o kadar uzun süre okuyabiliyordum ki, sadece anlıyorum. Ancak, uygulamalı yaklaşım en iyi şekilde çalışır, artı sık sık gördüğüm o aptal kodu yeniden yazmak istiyorum. Ne yazık ki içinde olduğum kod tabanı temizlemek için 10 + yıl sürer. Bu nedenle, hata ayıklayıcı kullanmak açık bir ilk adımdır. Sadece 5 milyon kod satırından hangisinin harekete geçtiğini öğrendiğimde, o sınıfın ne yaptığını anlamaya çalışmak için dosyayı yukarı ve aşağı tarayabilirim.