NotImplementedException
Henüz yazmadığınız kodları atmak kötü bir uygulama mıdır ? Muhtemelen TODO yorumları daha güvenli kabul edilir mi?
NotImplementedException
Henüz yazmadığınız kodları atmak kötü bir uygulama mıdır ? Muhtemelen TODO yorumları daha güvenli kabul edilir mi?
Yanıtlar:
NotImplementedException
Aslında iyi bir uygulama olduğuna inanıyorum .
Aslında, bir yöntemi uygulamayı unutursanız ve daha sonra projenizde kullanırsanız (ve inan bana, bunun gerçekleştiğini), adım adım yanlış olanları aramak için uzun bir hata ayıklama harcayabilirsiniz. İstisna varsa, program doğrudan durur ve istisnayı sorar (istisnayı yakalarsanız, yakaladığınız istisnayı arayarak bunu hızlı bir şekilde bulacaksınız).
Ben kullanarak öneriyoruz NotImplementedException
kombine , YAPILACAK yorumlarla sen (VS görevlerle) GUI yardım ve program güvenliği birleştiren bu şekilde.
Yayın sürümü için, bence daha da önemlidir, çünkü çoğu durumda görünüşte düzgün çalışan bir programa sahip olmak yerine hatalı sonuçlar üretmek yerine programınızın çökmesini tercih edersiniz.
NotImplementedException
TODO yorumlarıyla aynı şekilde gösterilir. Bence bu güzel bir özellik.
Hatalar ve hata işleme hakkındaki genel felsefenize bağlıdır. Ben "zor hata" tip adamım: Ben bir şey yanlış olabilir en ufak bir ipucu bir istisna atacak; Her şeyi iddia edeceğim; Eğer bir hata varsa, orada bir şey olması bekleniyordu ve orada değilse ya da bir şey varsa ve olmamalıysa, tüm evren durmalıdır. Camların ünlem sesi hoparlörlerden uğursuzca çalmalıdır.
Hatalarla uğraşmak istemeyen başka insanlar da var. Peki, istemciye gönderirsek ve tüm kod modülü eksikse, kodlamayı unuttuğumuz ve testte kimse bunu gerçekleştirmediği için, uygulama bu konuda çok sessiz olduğu için ne olacak? Müşterinin yüzüne bir istisna atmaktan daha iyi bir şey yapmayın!
Bunun iyi bir fikir olduğunu söyleyebilirim. Genellikle, bir form veya diyagramdan veya başka bir şeyden otomatik olarak oluşturulan iskelet koduyla atılan istisnaları görüyorum. İstisna bana kodu uygulamak hatırlatıyor ve ben kurulmuş ama asla tam olarak uygulanmış işlevselliği kullanmaya çalışırsanız hataların olmasını sağlar. Bazen, onu durdurur veya yürütmeyi durdurma olasılığı daha düşük olan bir şeyle değiştiririm (konsola uyarı yazdırmak gibi), ancak bunun benim için çalıştığını görüyorum.
Başkalarının bu istisnayı kullanmanın kullanacağı bir kitaplık oluşturuyorsanız, kitaplığınızın bir işlevi çağıran ve neden hiçbir şeyin gerçekleşmediğini merak eden bir kullanıcı olması daha iyi olacaktır. Tabii ki, bu istisnayı sevk edilen bir kütüphanede bulundurmak hala oldukça kötü, ancak sessiz hatalardan daha iyi, IMO.
Bence bu iyi bir uygulama. Alternatif, hem testi hem de üretim kodunu etkileyecek geçersiz bir değer veya durum yaymaktır.
Her zaman kullanırım NotImplementedException
- sonuçta bunun için.
Bu, "hızlı başarısız" kavramı ile ilgilidir: kodunuz bir istisna atarsa, üretime geçmeden önce yakalanması gerekir. Üretime geçerse, en azından müşteri montajın yanlış olduğunu bilir .
Kod anlamsız bir değer döndürürse veya void
yöntemler için herhangi bir işlem yapmazsa, kodunuzun tüketicileri çağrının olmadığı zamanlarda anlamlı olduğunu düşünebilir. Daha sonra, bazı doğru kodları aldıklarında, kodları eski yanlış davranışa bağlı olduğu için bozulabilir.
Bu nasıl bir proje? İş mi evde mi? Evde, istediğinizi yapın - üzerinde çalıştığınız her şeyi bitirmeniz gerektiğini en iyi hatırlatan ne varsa.
İşte, yazmayı bitirin.
Diğer devs, QA veya bir yapı kırmak / bozacak kodu kontrol ediyorum bir durum göremiyorum.