Ev Kişisel Finans C ++ Programınızdaki Hatalardan Kaçınılması - AYRINTILAR

C ++ Programınızdaki Hatalardan Kaçınılması - AYRINTILAR

İçindekiler:

Video: CppCon 2018: Greg Law “Debugging Linux C++” 2024

Video: CppCon 2018: Greg Law “Debugging Linux C++” 2024
Anonim

Derleme sırasında oluşturulan tüm uyarıları kaldırmadan veya en azından anlayıncaya kadar kodunuzun hata ayıklamaya başlamayın. Bütün uyarı mesajlarını daha sonra yoksayarsanız etkinleştirmeniz, size iyi gelmez. Uyarıyı anlamıyorsan, bak. bilmiyorsanız sizi incitecektir.

Açık ve tutarlı bir kodlama stili kabul edin

Açık ve tutarlı bir tarzda kodlama, yalnızca programın okunabilirliğini arttırmakla kalmaz, aynı zamanda daha az kodlama hatası ile sonuçlanır. Hatırlayın, C ++ sözdizimini çözerek harcamanız gereken daha az beyin gücü, eldeki programın mantığını düşünmek için daha fazla şey bıraktığınızı unutmayın. İyi bir kodlama stili, aşağıdakileri kolaylıkla yapmanızı sağlar:

  • Nesnenin adıyla ilgili bir şeyler bilme
  • Önişlemci sembollerini C ++ sembollerinden ayırt edin (yani, #defined nesneler öne çıkmalıdır))
  • Aynı seviyede C ++ kod bloklarını tanımlayın (tutarlı girintilendirme sonucudur)
  • Buna ek olarak, modüldeki işlevler veya sınıflar, yazar hakkında bilgi sağlayan standart bir modül başlığı oluşturmanız gerekir (muhtemelen, o sensin), tarih, kullandığınız derleyicinin sürümü ve bir değişiklik geçmişi.
  • Son olarak, tek bir projeye dahil olan tüm programcılar aynı stili kullanmalıdır. Farklı kodlama stillerine sahip bir program ile bir programı çözmeye çalışmak kafa karıştırıcıdır.

    Yazdıkça kodunuza yorum yapın

    Yazarken kodunuzu yorumladıysanız, her şey düzgün çalışıncaya kadar beklemek yerine, geri dönüp yorumları eklemek hataları önleyebilirsiniz. Çok boyutlu başlıklar ve işlev açıklamaları daha sonra yazmaya zaman ayırmak anlaşılmaz, ancak kodu yazarken kısa görüş eklemek için her zaman vaktiniz vardır.

    Kısa açıklamalar aydınlatılmalıdır. Eğer değillerse, fazla değmezler, bunun yerine başka bir şey yapıyor olmalısınız. Programınızı çalışmaya çalışırken bulabileceğiniz tüm aydınlanmaya ihtiyacınız var. Birkaç gün önce yazmış olduğunuz bir parçaya baktığınızda kısa, açıklayıcı ve noktaya kadar olan yorumlar, tam olarak ne denediğinizi anlamanıza yardımcı olmak için dramatik bir katkı yapabilir.

    Buna ek olarak, tutarlı kod girintisi ve adlandırma kuralları kodu anlaşılmasını kolaylaştırır. Kodun bittikten sonra okunması kolay olduğunda çok güzel, ancak yazarken de kodun okunması çok önemlidir. İşte o zaman yardıma ihtiyacın var.

    Tek adımda her yol en az bir kez

    Bir programcı olarak, programınızın ne yaptığını anlamanız önemlidir. Hiçbir şey, programın iyi bir hata ayıklayıcıyla tek adıma ilerlemesinden çok, kaputun altında olan biteni daha iyi hissetmenizi sağlar. (Etkileşimli derleyicilerin IDE'sinde bulunan hata ayıklayıcılar iyi işliyor.)

    Bunun yanı sıra, bir program yazarken bazen tuhaf davranışı anlamanız için ham maddeye ihtiyacınız var. Hiçbir şey bu malzemeyi hizmete girdikçe tek adımlık yeni işlevlerden daha iyi vermez.

    Son olarak, bir işlev tamamlandığında ve programa eklenmeye hazır olduğunda, her mantıksal yolun en az bir kez dolaştırılması gerekir. Fonksiyon geri kalanıyla birlikte pota atıldıktan sonra değil, kendiliğinden incelendiğinde hataların bulunması çok daha kolaydır ve dikkat yeni programlama zorluklarına girmiştir.

    Operatörlerin aşırı yüklenmesinden kaçının

    İki akış G / Ç işleci kullanımı dışında

    operatör << () ve operatör >> () ve atama işleci operatörü = () , C + + ile rahatça hissedecekseniz, muhtemelen operatörleri aşırı yüklemeyi bırakmalısınız. Aşırı yüklenmiş operatörlerin iyi bir seti, yeni bir sınıfın yararını ve okunabilirliğini artırabilir, ancak aşırı yük operatörleri (sadece listelenen üç hariç) hemen hemen hiç gerekli değildir ve hata ayıklama sorunlarını yeni bir programcı olarak önemli ölçüde artırabilir. Bunun yerine, uygun genel üye işlevleri tanımlayıp kullanarak aynı sonucu elde edebilirsiniz. Birkaç ay C-Plus-Plussing yaptıktan sonra, çekinmeden çekin ve operatörleri kalbinizin içeriğine aşırı yüklemeye başlayın.

    Dengeleme öbek yönetimi

    Genellikle, programcılar yığın belleğini aynı "seviyede ayırmalı ve serbest bırakmalıdır. "Bir üye işlev

    MyClass:: create () yığın bellek bloğunu atar ve onu arayana gönderirse üye işlev MyClass:: release () olmalıdır. bellek yığınına döndürür. Özellikle, MyClass:: create () , üst işlevin belleğin kendisini serbest bırakmasını gerektirmemelidir. Bu kesinlikle tüm bellek problemlerinden kaçınmaz - üst işlev, MyClass:: release () 'yı çağırmayı unutabilir; ancak ihtimali biraz azaltmaktadır. Hataları işlemek için özel durumlar kullanın

    C ++'daki istisna mekanizması, hataları rahatça ve verimli bir şekilde ele almak için tasarlanmıştır. Şimdi bu özellik standartlaştırıldı, kullanmalısınız. Ortaya çıkan kod yazması daha kolay, okunması daha kolay ve bakımı daha kolay. Ayrıca, diğer programcılar bunu beklemek için geldi - onları hayal kırıklığına uğratmak istemezsiniz, değil mi?

    Çoklu kalıtımdan kaçının

    Operatör aşırı yüklemesi gibi çoklu kalıtım, başlangıç ​​aşamasında uğraşmanız gereken bir takım karmaşıklık seviyeleri ekler. Neyse ki, çoğu gerçek dünya ilişkileri tek kalıtımla açıklanabilir.

    Microsoft MFC sınıfları gibi ticaret kitaplıklarındaki çok katmanlı sınıfları kullanmakta serbestsiniz.Microsoft, sınıflarını belirlemek için oldukça zaman harcadı ve ne yaptığını biliyor.

    C ++ anlayış düzeyiniz ile rahat hissettikten sonra, çok katmanlı kalıtım hiyerarşileri kurmayı deneyin. Bu şekilde, ihtiyacınız olduğunda hazır olacaksınız.

    C ++ Programınızdaki Hatalardan Kaçınılması - AYRINTILAR

    Editörün Seçimi

    Kendi Excel 2007 Şablonlarınızı Oluşturun - mankenler

    Kendi Excel 2007 Şablonlarınızı Oluşturun - mankenler

    Hazır bir Excel 2007 şablonunu bulamazsanız faturaya uyuyor, oluşturduğunuz veya şirketinizin elinde bulunan örnek çalışma kitaplarından kendi şablonlarınızı oluşturuyor. Kendi şablonunuzu oluşturmanın en kolay yolu, gerçek bir çalışma kitabı prototipi oluşturmak ve dosyayı şablon dosyası biçimini kullanarak kaydedin ...

    Kendi Excel 2010 Şablonlarınızı Oluşturma - mankenler

    Kendi Excel 2010 Şablonlarınızı Oluşturma - mankenler

    Hazır Excel 2010 şablonunu bulamazsanız faturaya uyuyor, oluşturduğunuz veya şirketinizin elinde bulunan örnek çalışma kitaplarından kendi şablonlarınızı oluşturuyor. Kendi şablonunuzu oluşturmanın en kolay yolu, gerçek bir çalışma kitabı prototipi oluşturmak ve dosyayı şablon dosyası biçimini kullanarak kaydedin ...

    Excel 2007 Grafiğinin Tipini ve Stilini özelleştiren - aumluları

    Excel 2007 Grafiğinin Tipini ve Stilini özelleştiren - aumluları

    Bir grafik eklediğinizde bir Excel 2007 çalışma kitabı, Şeritte yeni bir Grafik Araçları Tasarım sekmesi görüntülenir. Grafik türünü ve stilini özelleştirmek için Grafik Araçları Tasarım sekmesindeki komut düğmelerini kullanabilirsiniz. Tasarım sekmesi aşağıdaki düğme gruplarını içerir: Tür grubu Değiştir Grafik Türü ...

    Editörün Seçimi

    ÜÇüncü Temel, Çalınma Evini ve Diğer Beyzbol Beyitlerini Çalın

    ÜÇüncü Temel, Çalınma Evini ve Diğer Beyzbol Beyitlerini Çalın

    ÜÇüncü temel çalmak genellikle ikinci çalmaktan daha kolaydır. Birçok atış çizmeden ilk önce olduğundan daha büyük bir yol alabilirsin. Zamanlamanız iyi ise, atıcı topu bırakmadan önce saniyelerden de çıkabilirsiniz. Sürahi genellikle koşucuları ikinci sıradan seçmek daha zor olur ...

    Basketbol Takımınızda Bir Balo Domuzuyla

    Basketbol Takımınızda Bir Balo Domuzuyla

    Balo domuzu - asılı bir oyuncu uzun süreler boyunca topa vurur ve geçmek yerine her yere ateş etmeyi amaçlar - tüm takım için gerçek sorunlar yaratır. Örneğin, topu domuzu, takımın moralini zayıflatan ve öldüren puan almaya çalışan açık takım arkadaşlarını görmezden gelir ...

    Editörün Seçimi

    Canon EOS 6D'ye Yazar Adı Nasıl Eklenir Canon EOS 6D'ye Yazar Adı Nasıl Eklenir

    Canon EOS 6D'ye Yazar Adı Nasıl Eklenir Canon EOS 6D'ye Yazar Adı Nasıl Eklenir

    Adınızı aşağıdaki gibi ekleyebilirsiniz: Canon'la çektiğiniz her görüntünün yazarı. Bilgiler, çektiğiniz her resme EXIF ​​verisi olarak eklenir. Yazar bilgilerinizi kameraya kaydetmek için: Menü düğmesine basın. Daha önce kullanılan menü görüntülenir. Kamera Ayarları ... 4 ...

    Rebel T6i / 750D'den Görüntülere Nasıl Temizleme Talimatları Ekleyeceksiniz - mankenler

    Rebel T6i / 750D'den Görüntülere Nasıl Temizleme Talimatları Ekleyeceksiniz - mankenler

    Küçük noktalar görüntülerinizde tutarlı bir şekilde görünüyorsa ve Rebel T6i / 750D'nin lensindeki kirin nedeni değilse - sensörünüzün temizlemeye ihtiyacı olabilir. Sensörü kendiniz temizlemeyin, çünkü ne yaptığınızı bilmiyorsanız makinenizi kolayca mahvedebilirsiniz. Bunun yerine, fotoğraf makinesini çekin ...