Belgelerdeki belirli kod alanlarına nasıl başvurulur?


9

Bir projeden ayrılmak üzereyim ve gitmeden önce patronum benden belge kodu göndermemi istedi (çok iyi belgelemedim). Bu büyük bir mesele değil, proje çok karmaşık değil. Ama belgelerimde "XYZ hattında böyle ve böyle bir şey olduğuna dikkat edin" demek istediğim yerler buluyorum.

Bu durumda, tek bir kod satırının eklenmesi veya silinmesi dokümantasyonun hemen önüne geçeceğinden, belirli bir satır numarasına başvurmak mantıklı değildir. Satır numarasına bakmadan belirli bir kod satırına atıfta bulunmak için en iyi uygulama var mı?

Ben gibi yorumlarla kodu çöp düşündüm:

/* linetag 38FECD4F */

"38FECD4F", söz konusu satır için benzersiz bir etikettir. Sonra, '38FECD4F' etiketli hatta, böyle ve böyle bir şeyin gerçekleştiğine dikkat edin.

Başka fikir var mı? Kod birimlerini belirli bölümlerinden ziyade bir bütün olarak belgelemek genellikle daha iyi gibi hissediyorum, ancak bu özel proje söz konusu olduğunda, daha küçük birimlere hiçbir zaman yeniden yerleştirilmemiş UZUN prosedür kodları var.


Ekleme yöntemlerinden veya dosya özeti özet yorumlarından belirli konumlara mı başvuruyorsunuz? İkinci durumda "#" JavaDoc stilini kullanabilirsiniz.
arin

Genellikle dosyaya ve yönteme başvurdum ("yöntem XYZ'de ABC dosyasında böyle ve benzeri şeyler olur") ama hangi cevapların geldiğini merak ediyorum.
Michael Itzoe

7
Bu durumlarda yorumları gerçek koda koymak daha uygun olmaz mıydı?
Robert Harvey

Takımda belgelerinizi inceleyip geri bildirimde bulunabilecek biri var mı?
gnat

Buna ihtiyaç duyduğunuzda, açıkça kullandığınız diğer yöntemlerde yan etkiler var gibi görünüyor.
Michael Shaw

Yanıtlar:


1

Eğer doğru anlıyorsam, kendine özgü bir problemin var gibi görünüyor. Ne yapmak istediğiniz, aynı kodun başka bir bölümünde yazılmış yorumlarda belirli bir kod satırına atıfta bulunur.

Ben genellikle başka bir yerde yazılmış bazı yorum # exect satır başvurmak gerekir böyle senaryolar rastlamak değil - genellikle kodu doğru yerde yazılı belgelenir.

Bunu yapmanın standart bir yolunu bilmiyorum - ama başımın tepesinden ...

Kod kısımlarına bağlamı üzerinden, yani onları çevreleyen şeylerden bahsedebilirsiniz.

Func1 () tanımının üzerinde böyle ve benzeri şeylerin olduğuna dikkat edin

RecordXYZItr üzerinden yinelenen for döngüsünün hemen ardından, gc () yöntemini de çağırdığımızı unutmayın.

Dikkat: yahoo () yönteminde, değişken PQ bildiriminin hemen ardından, A ve B'deki değerleri de değiştiriyoruz, bu nedenle mapABC nesnesinin de kopyalanması gerekiyor

Başka bir yol da açıklayıcı etiketler eklemektir. Bunun gibi bir şey yerine, 38FECD4Fdiyebilir Some XYZ implementationya da BUGFIX 1474başka bir yere başvurabilirsiniz.


Geri dönüşünüz için teşekkür ederiz! "Bağlam tanımla" benim için en iyi seçenek gibi görünüyor düşünüyorum. Tekrar teşekkürler.
loneboat

2
Benzersiz bir soruna sahip olmak, bir şeyi yanlış şekilde yaptığınız anlamına gelir.
Thijs van Dien

2
@ThijsvanDien: Güven bana, burada bir sürü şey yanlış yapıyoruz! ;-)
loneboat

3

Kodun nasıl yazıldığına çok bağlıdır ve anladığım kadarıyla burada yapmak için olmadığınız bir sürü yeniden düzenleme yaratabileceğini anlıyorum.

Ancak ... belirli bir kod satırını bütün bir birim olarak belirtmeniz gerekiyorsa, bu, soyut bir işlemi temsil eden bazı kodların anlamına gelmez ve bu nedenle kendi yönteminde / işlevinde yeniden düzenlenebilir mi? Bir kez onun bir yöntem, oldukça kolay, sadece bakın namespace.class.methodTabii ki çok küçük, yaklaşık 5-10 satır uzunluğunda veya daha az yöntemlere sahip demek. Doxygen ile, belgeleri yöntemin üzerine koyabilirsiniz ve her zaman yöntemin / sınıfın / ad alanının adıyla senkronize kalır.


1
Bu cevap, OP'nin projeden ayrıldığı ve muhtemelen sınırlı bir zamana sahip olduğu orijinal noktası haricinde kazanan olmalı ve muhtemelen çıkış yolunda değişiklik getirmemelidir. Ama kesinlikle doğru - bir şey harici olarak atıfta bulunacak kadar karmaşıksa, kendi adlandırılmış kod birimine koyun.
Ross Patterson

2

Bazı kod harici belgelerden koda bağlanmak dışında farklı bir yaklaşım kullanmanızı öneririm:

  1. doxygen gibi bir araç kullanarak kodunuza yorumlar ekleyin .

  2. bazı kavramları (yeni oluşturulan) kodun belgelerinde uygun olandan daha ayrıntılı olarak açıklamaya ihtiyaç duyulursa, her zaman ayrı bir belge oluşturabilir ve buna bağlantı verebilirsiniz.

Bu şekilde, belgeleri bir web sayfası veya PDF olarak kolayca oluşturabilirsiniz ve kodla tutarlı kalır. Bazı yapay etiketlerin kullanımı çok zor olacak ve girişimciler için anlaşılması daha da zorlaşacaktır.

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.