“Ben”, “Biz” veya Hiçbiri kod belgelerinde


41

Kendimi (C ++) kodunun kodunda (C ++) yararlı yorumlar yazarken buluyorum:

The reason we are doing this is...

“Ben” yerine “biz” kullanmamın nedeni, “biz” in sıklıkla tercih edildiği birçok akademik yazı yazmamdır.

İşte soru bu. Kodlamada birini diğerine tercih etmenin iyi bir nedeni var mı:

  1. "Biz" i kullanın: Bunu yapmamızın nedeni ...
  2. "Ben" i kullanın: Bunu yapmamın nedeni ...
  3. İsmimi kullan: Bunun nedeni [my name]...
  4. Pasif ses: Bunun yapılma nedeni ...
  5. İkisi de: Bunu yapın çünkü ...

# 1'i seçiyorum çünkü bu şekilde yazmaya alışkınım ama belgeler yazar için değil, okuyucu için de geçerli, bu yüzden geliştirici adını eklemenin yardımcı olup olmadığını veya bunun için gereken başka bir şeyi ekleyip eklemediğini merak ediyorum. kodu korurken değiştirilebilecek.


Bence kişisel tercihlere bağlı. Birinin diğerinden daha net olmasının bir nedenini görmüyorum.
ConditionRacer

6
# 5: "İnsan olayları sırasında ...";)
mum

8
"Dört sayı ve yedi saniye önce atalarımız foo'nun engellenmesi gerektiğini öğrendiler, en azından kuvvetlerimiz NULL ile aşılmak zorunda kaldı"
Philip

İngilizceyle yakından ilgilidir.SE: Programcılar neden gerçekten 'ben' veya 'siz' anlamına geldiklerinde ' biz'i kullanırlar? (Bu ne yazık ki kapandı)
Izkata

2
Neden deme This code was written like this because...? (Pasif ses)
Alvin Wong

Yanıtlar:


77

Ben giderdim:

6.. Declarative: ...

"Bunun yapılmasının sebebi, her Foo'nun bir Bar'a sahip olması gerektiğidir" demekten ziyade, "Her Foo'nun bir Bar'a sahip olması" demeniz yeterli. Yorumunuzu, pasif olmaktan ziyade, sebebin aktif bir ifadesi haline getirin. Genel olarak daha iyi bir yazı stilidir, kodun niteliğine daha iyi uyar (bir şey yapar ) ve the reason this was donecümle hiçbir bilgi içermez. Ayrıca karşılaştığınız sorunu da tamamen ortadan kaldırır.


Bunu neden yapmak üzerine biraz daha özen gösterir misiniz? Bir açıklama yapmadan, bu cevap biraz daha net bir fikir gibi gözüküyor, biraz da kurallara uyuyor : “... Görüş,“ çünkü ben bir uzmanım ”dışında bir şeyle desteklendiği sürece kötü değil ya da “çünkü ben öyle söyledim” ya da “sadece çünkü”. Düşüncelerinizi yedeklemek için yukarıdaki gibi özel deneyimlerinizi kullanın veya web'de veya başka bir yerde yaptığınız ve araştırmalarınızı desteklemek için kanıt sağlayan bir araştırmaya işaret edin ... '
gnat

15
@gnat "Bunun yapılma nedeni" açıklamaya hiçbir şey eklemiyor. Yorumlar, noktayı aşacak kadar fazla metin içermeli ve daha fazlasını içermemelidir. Güzelleri, vaazları ve diğer dolgu metinlerini bırak.
David Harkness

@gnat - Yorumunuzu gördüğümde aslında daha fazlasını eklemeyi yeni bitirdim.
Bobson

1
Benim örneğimin çok basit olduğunu düşünüyorum çünkü gerçekten "bunun yapılmasının nedeni" hiçbir şey eklemiyor. Ancak, zor bir durumun biraz açıklama gerektirdiği durumlar vardır ve bu durumda, "Ben" i veya "Ben" i kullanmayı daha doğal buluyorum, tıpkı bu yorumda "I" kullandım. Fakat bence cevabınız ruhaniyette açıktır: "bildirimsel" ifadesi şunu belirtir: açıkça noktayı belirten en az kelimeyi kullanın.
Alan Tur

7
Çoğu durumda //olduğu gibi okurum because.
Ilmo Euro

23

İkisini de tercih etmem ve aslında bu tanıtım cümlesini tamamen bırakıp, sadece o noktaya gelmek. Ayrıca sadece "bu" demekten kaçınmaya çalışıyorum çünkü yorumun kodla senkronize olup olmadığını söylemenin bir yolu yok. Başka bir deyişle, yerine:

// The reason this was done is to prevent null pointer exceptions later on.

Şöyle söylerdim:

// Frobnicate the widget first so foo can never be null.

Bir yorum eklediğiniz gerçeği, bir neden olduğunu belirttiğiniz anlamına gelir, bu nedenle gereksiz yere nedenini açıkladığınızı söylemenize gerek yoktur. Sebebi mümkün olduğu kadar açık bir şekilde belirtin, böylece daha sonra bu kodun nasıl korunacağını açık bir şekilde bilirler.


4

C # 'da (ve diğer dillerde birçok dokümantasyon aracında) dokümantasyon ile satır içi yorum arasında bir fark vardır. Benim kişisel görüşüm, Bobson ve diğerlerinin bir sınıf veya üyenin belgelerinde önerdiği gibi her zaman resmi, beyan niteliğindeki tarzı yorumlar kullanmanız gerektiği , ancak kurallar dahilinde, daha az resmi olmanın yanlış olduğu hiçbir şey yok. Aslında, bazen gayrı resmi bir yorum, bir şeyin neden resmi İngilizce’de tam bir açıklamadan daha iyi olmadığını açıklamakta daha etkilidir.

İşte noktayı gösteren bir örnek.

/// <summary>
/// Takes data from the remote client and stores it in the database.
/// </summary>
/// <param name="data">The data to store.</param>
public void StoreData(ComplexObject data)
{
    // Don't take candy from strangers
    ComplexObject safeData = SanitizeData(data);
    ...
}

4
Yan not: SanitizeDataa dönmeli SafeComplexObject. ;)
Jon Purdy

Katılıyorum, ancak özellikle farklı dil kökenli geliştiriciler varsa, gerçek anlamıyla (mecazi değil) yorumları tercih ediyorum.
John B. Lambe,

2

Dikkate alınması gereken başka bir fikir, kodun neden açıklayıcı bir yorum yazmak yerine neden çalıştığını gösteren iyi hazırlanmış bir birim testi olacaktır. Bunun yorum yazmanın bir kaç faydası var:

  1. Yorumlar, kod değiştiğinde her zaman değişmez; bu, daha sonra karışıklığa neden olabilir.

  2. Birim testleri, bakıcıya kodla oynamak için kolay bir yol sağlar. Hangi değişiklikleri gözlemlemek için kırabileceğiniz ayrı birimleriniz varsa, yeni bir kod temeli öğrenmek çok daha kolay olabilir.

Bu cadde daha fazla çalışma gerektirse de, birim testi mükemmel bir dokümantasyon biçimi olabilir.


1

İyi yorumlar yazmak zordur ve en iyi yorumları bile okumak ve anlamak genellikle zordur. Eğer yorumunuz benim için özümseyecek kadar netse ve kod hakkında bilmem gerekenleri iletecek kadar kesinse, kullandığınız zamirleri hiç farketmez.

Birinin kodunu yorumlamasını istemekten nefret ediyorum, çünkü onların davası, zaman ve şahısların zamirleriyle ilgileniyorlar.


Netleştireyim: Resmi belgelerin bir parçası olacak yorumlar için, daha resmi bir ton uygundur ve "Ben" ve "biz" en iyi şekilde kaçınılmalıdır. Bu cevabı düşündüğümde, ara sıra açıklayıcı yorum yapıldı, örneğin bir sonraki adama yanlış bakacak bir şey yaptığınızda. Bu gibi durumlarda, sadece insanların aynı kod tabanı çalışmaları Hiç göreceksiniz kim nerede, ben bile o var, senin en açık anlamı iletecek ne gerekiyorsa demek I wrote the code this way because...ya what we really need here is.... Bu gibi durumlarda, net bir yorum katı bir tarza göre daha önemlidir.
John M Gant

1

“Ben” yerine “biz” kullanmamın nedeni, “biz” in sıklıkla tercih edildiği birçok akademik yazı yazmamdır.

Bu kesin noktaya kimin karar verdiğini gizlemeye çalışmadığın sürece, akademik yazılar için bile kötü bir tarz.

Sorunuza gelince: Böyle bir yorum bırakmaz, başlamadığı sürece:

// TODO: clean this up, ...

veya çok önemli bir şeyi açıklamadığı sürece, koddan çok açık olmayabilir. Bu durumda, yorumu mümkün olduğunca kısa yapın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.