2010-03-05 16 views
5

C# içindeki Web İstemci Yazılım Fabrikası (WCSF) kullanarak bir ASP.net web uygulamasında çalışırken bu ikilemde karşılaştım ve aynı diğer platform ve diller için de geçerli olabilir. Benim durumum şu şekildedir:Arabirim ve sınıf yöntemleri için yorumlar nasıl farklı olmalıdır

Ben WCSF paradigmasına dayalı olarak her web sayfası/kullanıcı kontrolü için bir I Görünüm arayüzünü tanımlayan am

daha sonra sayfa sınıfı temelde tanımlanan yöntemlerin her uygulayıcı, ben Görünüm arabirimini uygulamak zorunda arayüz. Yöntem seviyesine xml-dökümantasyonu eklemeyi denediğimde, temel olarak, hem arayüz metodu hem de uygulama sınıfındaki karşı taraf için aynı yorum içeriğini tekrarladım.

Bu yüzden sorum şu: arabirim yöntemindeki belge içeriği ile karşılık gelen sınıf yöntemi arasında önemli bir fark olması gerekir mi? Farklı yönlerde ya da başka bir şey üzerinde durmalılar mı?

Biri bana, arayüz yöntemi yorumunun "ne" yapması gerektiğini söylemesi gerektiğini ve sınıf yöntemi yorumunun "nasıl" olduğunu söylemesini söyledi. Ama daha önce bir yerde okumayı hatırlıyorum. Yöntem seviyesi yorumu, yöntemin uygulamacılar için bir endişe olmamasından ve yöntemin değişebileceğinden, yöntemin uygulama detayını, sadece "ne" yapması gerektiğini söylemelidir.

cevap

8

Şahsen, bu yorumların aynı olması gerektiğini düşünüyorum - her iki durumda da "ne yapacağını" söylemelisiniz.

XML yorumlarının uygulama ayrıntılarını belirtmesinin bir nedeni yoktur. Bir istisna, potansiyel olarak, potansiyel yan etkilerden bahsetmek olacaktır (yani: bu yöntem uzun sürebilir), ancak kişisel olarak XML doc yorumlarının <remarks> bölümünde bunu yapabilirim.

+0

Bu gerçekten korktuğum cevap :), ama sanırım haklısın. Her iki yerde de aynı içeriği tekrarlayarak giyiyorum. Copy-n-paste hızlandırmaya yardım etti, ama bunu yaptığım şey beni kandırıyor ... – hongliang

+1

@hongliang: Bir arayüz uyguluyorsanız, GhostDoc'un bir kopyasını alın - bu, uygulama sınıfı için XML doc yorumlarını doldurmak ve yorumları arayüzden kopyalamak için tek bir tuş kullanmanıza izin verecektir. Çok kaygan: http://submain.com/products/ghostdoc.aspx –

+0

Vay canına! Tam olarak istediğim şey bu. Teşekkürler! – hongliang

4

Bana bir somun deyin, ancak yöntem için açıklayıcı bir ad kullanın ve bunu bir gün (her ikisi için de yorum yok) olarak adlandırın. Bu konuyla ilgili bir şeylerin şaşırtıcı olup olmadığı ya da onun neden açık olmayan bir şey olduğu konusunda uygulamaya yorum ekleyebilirim.

+6

Aslında çok şiddetle katılmıyorum. XML doc yorumları kullanarak yorumlama yöntemleri (kısa, anlamlı yorumlar ile), özellikle de diğer insanlar tarafından kullanılabilecek bir API ise, çok değerlidir ... xml doc yorumlarından aldığınız intellisense'deki anlamlı mesajların yerini tutamazsınız. –

+0

Teşekkürler. İsmin açıklayıcı olması gerektiğine katılıyorum, ki bu da yorumları gereksiz görecektir. Yine de, kendi deneyimim bazen bana söyler, bir isim ile söyleyebildiğin kadar çok şey vardır --- "Zaman" lar ve "If" lerde gülünç uzun isimler aldırmazsan. – hongliang

+1

Arayanın, çağrısının nasıl yapıldığına dair tüm zaman/ifs ile ilgilenmesi gerekiyorsa, bu tasarım nesnelerinizde çok fazla bağlantı olduğunu geri bildirir. –

İlgili konular