İçindekiler:
- Açık ve tutarlı bir kodlama stili kabul edin
- 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.
- 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.)
- İki akış G / Ç işleci kullanımı dışında
- Genellikle, programcılar yığın belleğini aynı "seviyede ayırmalı ve serbest bırakmalıdır. "Bir üye işlev
- 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?
- 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.
Video: CppCon 2018: Greg Law “Debugging Linux C++” 2024
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:
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.
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.