Kod yorumlarında Dönemler / Tam Duruma ilişkin düşünceleriniz nelerdir? [kapalı]


27

Bunu SO Tavern'de sordum , bu yüzden soruyu buraya gönderiyorum. Bunun ilginç bir soru olduğunu düşündüm. (Tabii ki SO'ya ait değil, ama bence burada sorun yok.)

Kod yorumlarınıza dönemler (veya OP'nin yazdığı gibi "tam duraklar") ekler misiniz?

İlgili tutmak için, neden ?


2
Bazı zamanlar yapıyorum ve bazen yapmıyorum. Yorumlara ve okumayı kolaylaştıran şeylere bağlıdır.
Tim

Yanıtlar:


29

Tam duraklama cümleleri sona erdirmek içindir, ancak bir yorum kodla çevrili yalnızca bir cümle içeriyorsa, bence tam durma gerekli değildir. Bazen ilk harfi bile büyük harf yapmıyorum. Öte yandan, ayrıntılı bir çok satırlı yorum, tam noktalama işaretlerine ihtiyaç duyar.

// This function returns an average of two integers. Note that it may
// return an irrelevant result if the sum of a and b exceeds the int
// boundaries.

int avg(int a, int b)   // make it static maybe?
{
    // A better algorithm is needed that never overflows
    return (a + b) / 2; 
}

4
+1. Bu benim yorum tarzım gibi görünüyor bana yanlış bir deja vu verdi :)
Bobby Tables

26
Hayır, tam durma cümlelerin sonunu işaretlemek içindir. Bir veya birkaç tanesine sahip olmanız önemli değil.
Rook

2
<joke> Int sınırlarını aşmayı kontrol etmek daha iyi olmaz mıydı? </joke>
Dan Rosenstark

2
@Yar: Ortalama her zaman a ve b arasındadır, hangi tanım gereği her zaman sınırlar içindedir? ;)
mojuba

8
Tüm dizelerim boş bırakıldı, bu yüzden uygun bir yorum her zaman '\ 0' ile bitmelidir. Kodunuza bakan bir sonraki adamın aklının sonunu okumasını istemez misiniz?
CodexArcanum

26

Evet, çünkü yorumlar İngilizce'dir ve uygun İngilizce, noktalama işaretleri kullanır.


2
Kısa mesajlara ne dersiniz?
Moshe,

4
@Moshe, metin mesajları pek İngilizce uygun değildir.
Dominique McDonnell

8
Neredeyse uygun İngilizce, ama ben hala onları noktalama işaretleri kullanın. Noktalama, okuyucuyu, tam olarak yazıcının amaçladığı şekilde yönlendirmek için vardır - bu, herhangi bir dil için geçerlidir, IMHO.
cjmUK

@cjmUK, Lol, evet ve ben de öyle ben Moshe düzenli gibi mesajları almak olarak biz, noktalama işareti kullanmayın olmaz bir neden olarak bunu demek düşünce "gr8 cu b o wd orada bye" Bana tuzak duvar sağladığını
Dominique McDonnell

Her şeyi yoluna
koyamıyorum

17

Kod yorumlarınıza dönemler (veya OP'nin yazdığı gibi "tam duraklar") ekler misiniz?

İlgili tutmak için, neden?

Aynı sebepten dolayı "normal" metin yazarken bunları ekliyorum - bunlar yazılı dilin bir parçası ve onlar hakkında özel bir şey olmamalı. Paragrafların yanı sıra bir cümle (bir satır) yorum yazarken bunları eşit kullanırım.

Kaynak kod normal bir metin değil ve bu nedenle farklı kurallar kullanıyoruz. Basit ;-)


Bir arkadaşım, e-postalardaki kelimeleri asla kısaltmaz ... çünkü internettedir. Yazımı, SMS gibi teknik sınırlamalara uyarladığınızda benim için sorun değil, ancak e-postalar veya kaynak kodları harf ve kitaplardaki metinden farklı mı?
LennyProgrammers

1
@ Lenny222 - Burada ne sorduğunuzu bilmiyorum. E-postalar normal metin gibi yazılmalıdır; Söylediğin gibi bir mektup yazdığın gibi. Aslında nasıl yazılırlar (ve SMS'ler, oh oğlan, SMS'lere başlamama izin vermez :) Kaynak kodu, kendi sözdizimi kurallarına sahip olduğu için normal metinle aynı kurallara uymaz.
Rook

2
Bana göre kaynak kodu yorumları insanlar tarafından okunmak içindir. Bazı bilgilerin ayrı bir teknik özellik belgesinde veya bir kaynak kod yorumunda gömülü olup olmadığı neden fark yaratmalıdır?
LennyProgrammers

@ Lenny222 - Sadece bana bir şey oldu, bu yüzden aramızda yanlış bir anlama gelmemesi için. Şimdi kaynak kodundan mı yoksa içerdiği yorumlardan mı bahsediyoruz? Eğer ikinci durum buysa, seni yanlış anladığım için özür dilerim. Bu durumda, aynı kurallar normal metin için geçerlidir (yorumlar için). Gerçek kaynak kodunda (derleyici / tercüman tarafından okunan kod) aynı kuralların nasıl uygulanabileceğini anlamıyorum.
Rook

1
Evet, bilmeden birbirimizle aynı fikirdeyiz. ;)
LennyProgrammers

9

Yorum yazarsanız, onların İngilizce dilinde yazıldığını umarsınız. Bu durumda, kişi düzgün bir şekilde noktalamalı. Aksi takdirde tembel olurdu.


1
Dönemler cümlenin sonu içindir. Yorumlar mutlaka tam cümleler değildir.
John B. Lambe

Yorumlar genel olarak cümleler olmalıdır. Olmazsa neden olmasın diye sormalıyım. Yorumlarınız çok kısa ise cümleler değil, belki açık ve dolayısıyla gereksiz mi?
hızla_

5

Tam bir cümle (veya daha fazla) yazarsam, evet. Yapmazsam, o zaman bazen hayır, ama genellikle hala evet.

Ayrıca bazen deliriyorum ve ünlem işareti, soru işareti vb. Kullanıyorum.)

Neden olarak, kısmen sadece özel olduğum için ve kısmen uygun noktalamaların çok netlik getirebileceğini düşündüğüm için.


Soru işaretleri kullanıyorsanız, kendi kodunuzu anlıyor musunuz?
Moshe,

@Moshe: Bunlar genellikle kendi kodumu tam olarak anlamadığım zamanlar TODO'larda.
Adam Lear

2
@Moshe - Neden yorumlar soruları içeremez? Sorular retorik olabilir. Aslında, ben genellikle mi? Benim yorumlarımda - koşullu kodu tarif ederken, mantığın kuru bir açıklaması olarak, mantığı bir soru olarak tanımlamak genellikle daha açıktır. Örneğin, "Uygunluk kriterleri karşılandı mı? Hayır ise, kullanıcıya uyarı göster".
cjmUK

1
Büyük projeler ve birçok ortak çalışanla çalışırken, bu sorgulayıcı yorumları en önemlisi buluyorum.
LennyProgrammers

3

Diğer cevaplar ve popülerlikleri, uzun duraklarda tam duraklamanın iyi anlaşıldığını ve muhtemelen tek gömleklerde önlenebileceğini açıkça ortaya koydu.

İlgili olabilecek bir diğer nokta, ünlem işareti, özellikle katları olmaktan kaçınmaktır . Örnek:

    // Though loop is labor-intensive, performance is fine with with 95K cases!!!

ve

    // This code really sucks!

Öte yandan, soru işaretleri bazen oldukça yararlıdır:

    // TODO: What does Crojpler.bway() actually do?

1

Değişir. Bir kod bloğunun ne yaptığını açıklayan büyük, uygun bir paragraf yazarsam, diğer uygun yazım parçaları gibi onu doğru şekilde işaretlerim. OTOH, sadece tek bir kod satırını yorumladığımda söylemiyorum.

Niye ya? - SMS mesajlarında kısayol cümleleri kullanabilirken, neden doğru yazıyı kullanarak e-posta yazdığımı benzer. Bir durumda, uygun bir metin bloğu yazmak için oturuyorum, bu yüzden sadece otomatik olarak "doğru şekilde yapıyorum", diğerinde bir noktaya değinmek için kısa bir not.

Kodumdan gerçek örnekler:

Kısa not yorumu:

// check for vk_enter

"Uygun" yöntem dokümantasyonu:

// This method sets up a workspace tab with the given name. Each MDI window has a parent
// workspace specified when it's saved. The code which loads each MDI window then point it to
// the correct workspace.

.NET geliştiricisi, ha? ;-)
Moshe

@Moshe: Java aslında. Bu, temelde tarayıcıda çalışması dışında bir masaüstü Swing uygulaması gibi, çok büyük ve karmaşık bir uygulamadan gelen koddur. :)
Bobby Tables

Ben MDI bir .NET terimi olmasına rağmen.
Moshe,


1

Evet, bu şekilde iyi bir kodlama kuralı oluşturduğunuzu ve aynı zamanda kodunuzu inceleyen 3. bir kişi için temiz bir okunaklı kod oluşturduğunu düşünüyorum.


1
Peki ya ikinci bir insan?
daviewales

0

Ben olacak her zaman düzgün yararlanmak ve noktalama oluştururken XML açıklamaları ben görülebilir beklediklerini IntelliSense'de ve bizim de üretilen belgeler . Bunlar çok daha resmi yapılar ve böyle ele alınmaları gerekiyor.

Bununla birlikte, bir kod bloğunun gövdesinde henüz görülen yorumlar, mümkün olduğu kadar açık olmalıdır. Bunu nasıl başardıkları programcıya kalmış.

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.