Kod yazarlarını nasıl takip ediyorsunuz? [kapalı]


14

Bu bana hiç öğretilmedi. Farklı yazma stilleri çok gördüm. Öncelikle Java ve Python'da kod yazıyorum. Standart bir yazma stili olup olmadığını veya her şeyin serbest stil olup olmadığını merak ediyordum. Ayrıca cevap verirseniz, kullandığınız stili evde veya işte oluşturduğunuz dosyalara yazar olarak eklemeniz gerekir.

Genellikle sadece giderim

@author garbagecollector
@company garbage inc.

3
Kodunuzu değiştiren kişi adını nereye koyar?
JeffO

@ Jeff nerede ve nasıl görünüyor.
dustyprogrammer

Bunu yapmak hiç mantıklı değil. Bunu neden yapmak istiyorsun?
CodeART

Yanıtlar:


-1

Ne istediğini tam olarak bilmiyorum, ancak çok katı bir stil kullanıyorum:

;==========================================
; Title:  Author Style Sample
; Author: Darknite
; Date:   7 Jan 2011
;==========================================

Stil montaj programcılarından esinlenmiştir.

Bu bir sınıf, metin dosyası veya SQL saklı yordamı vb. Olursa olsun, "Yazar" gereken sayfaların üstüne koydu.


Bu aradığım şey boyunca.
Dustyprogrammer

5
-1 Bu ( eğer güncellenirse çok büyür (hem de hem de kod çeşitli insanlar tarafından değişir) etkili bir şekilde sürüm kontrolü ile değiştirilir
Michael Durrant

1
@MichaelDurrant parantezinizi kapatmayı unuttunuz;) yine de harika. Penguenleri severim.
Darknight

4
@Giorgio Gerçekten değil ... dosyada kalan orijinal yazarın tek bir kod satırı olmayabilir. Bu anlamsız.
Wilbert

1
@Wilbert: Elbette, ekibin politikasına da bağlıdır: paylaşılan kod sahipliği ile bir dosyanın yazarını takip etmek anlamsız olabilir. Bireysel kod sahipliği ile, hangi dosyalardan kimin sorumlu olduğunu bilmek önemlidir.
Giorgio

72

Neden ki? bu versiyonlama sisteminin ve "Suçlama" nın işi :)


8
sürüm kontrolü ftw.
Paul Nathan

1
Sürüm kontrol sistemi (VCS) yerine kaynak kodu yönetimi (SCM) olarak düşünüyorsanız, bunu bu şekilde yapmak daha mantıklıdır.
Peter Eisentraut

küçük sınırlama, kozmetik değişiklikler (girinti, vb ...) satırın yazarını değiştirir ...
Matthieu M.

4
@Matthieu: İyi SCM, sadece son dokunuşunu değil, zaman içinde neyin değiştiğini gösterebilir. Kozmetik değişikliklerin de değişiklik olduğunu iddia edebilirim.
grossvogel

1
Bu cevap 8 yaşından büyük ve kimse kısıtlamalarını fark etmedi mi? Yalnızca kaynak kodu tüm yaşam süresi boyunca bir VCS'de kalırsa (veya doğru şekilde taşınırsa) geçerlidir! Bununla birlikte, zaman zaman farklı ortamlar arasında birçok açık kaynak kodu aktarılır, bu nedenle yazar bilgileri doğrudan kaynak koduna yazılmazsa aktarılamayabilir.
Doc Brown

11

Şirketimde yazarlık yapmıyoruz. Bunun yerine sürüm kontrolümüzün halletmesine izin veriyoruz.

Her giriş yaptığınızda, kullanıcı adınızı değişiklik listesine ekler. Bir şey bozulursa, birileri geri dönebilir ve neyin değiştiğini, ne zaman ve kimin yaptığını görmek için değişiklik geçmişine bakabilir. Bir dosyanın zaman içinde nasıl geliştiğini, kimin dokunduğunu, hangi projelerin ondan ayrıldığını görmek için revizyon grafiğine bakmak da düzgün.

Bir sınıfa bir yazar etiketi koymakla ilgili gördüğüm sorun, zaman içinde bu sınıfta birden fazla geliştiricinin çalışmasının muhtemel olması. Güncellemeler ve benzerleri. Bu yazarın yorumunu güncellemek için ekstra bir adımdır ve ekstra küçük adımlar çok unutulma eğilimindedir. Böylece hızla güncelliğini yitirir.


10

Bunu hiç yapmıyorum. İş yerinde, dosyayı en son değiştiren kişinin şirket adı ve kullanıcı kimliği ile dosyalara eklenen bazı şablonlarımız olduğunu düşünüyorum, ancak buna hiç dikkat etmiyorum.

Genel olarak, bunun nasıl yaptığınız gerçekten önemli olduğunu düşünmüyorum. Dosyalarınızı yazar olarak damgalamak istiyorsanız, tutarlı bir stil seçin ve onunla devam edin.


6

JavaDoc, Java topluluğunda çok standarttır:

http://download.oracle.com/javase/1.3/docs/tooldocs/win32/javadoc.html#@author

@author adı metin

-Author seçeneği kullanıldığında oluşturulan dokümanlara belirtilen ad metni içeren bir "Yazar" girişi ekler . Bir doküman yorumu birden fazla @authoretiket içerebilir . @authorEtiket başına bir ad veya etiket başına birden çok ad belirleyebilirsiniz. Önceki durumda, Javadoc isimler arasına virgül (,) ve boşluk ekler. İkinci durumda, metnin tamamı ayrıştırılmadan oluşturulan belgeye kopyalanır. Bu nedenle, virgül dışında bir yerelleştirilmiş ad ayırıcı istiyorsanız, satır başına birden çok ad kullanın.


5

Bence bu en iyi sürüm kontrol sistemine bırakıldı.


4

GIT'teki suçlama özelliğini seviyorum . Her bir kod parçasını / yazarı kimin yazdığını görebilirsiniz. Sadece bir dosya değil.


Diğer VCS'ler aynı şeye sahiptir (sıklıkla "suçlama" olarak adlandırılmasa da).
Richard

GIT'e özgü olduğu için bunu -1 yapardım. OP GIT'den hiç bahsetmedi. Ama ne yazık ki, oy vermek için yeterli temsilcim yok.
Thomas Eding

2

Çok sayıda katılımcı içeren büyük bir proje üzerinde çalışıyorsanız, her dosyaya yazar listesiyle açıklama eklemek işe yaramaz. Bir dosyayı birkaç küçük dosyaya böldüğünüzde yazar listesi ile ne yaparsınız? Kodu tamamen yeniden yazarsanız orijinal yazar adını koruyor musunuz? Yorumda yazım hatası düzelttiğinizde adınızı yazar listesine ekliyor musunuz?

Bu sorular sürüm kontrol sistemi için daha iyidir.

Ama yazar listesine tamamen karşı değilim. Tüm proje için yazarların bir listesini tutmak mükemmel bir mantıklı. Tek dosyalı bir proje ise, elbette bu dosyanın içinde saklayın. Daha büyük bir proje ise README'de veya en üst düzey kaynak dosyanızda (main.c olarak) saklayın. Ancak yazarları her dosyada listeleyerek tekrar etmeyin.


1

Sürüm kontrol sistemini kullanarak veya @authorkodu yerleştirerek takip ediyoruz . Bunu yapmanın bir başka yolu, daha genel olarak, bazı insanların tüm modüllerin veya tüm programın yazarları olduğunu söylemektir. Bu, insanları, tam olarak X sayıda işlevden veya kod satırından sorumlu olan makinedeki bir dişli yerine bir ekibin parçası olarak düşünmeye teşvik eder.


0

Kullandığım Doxygen (bazen ya KernelDoc) tarzı hemen hemen her şey için bir yorum. Çoğunlukla Doxygen'in oldukça popüler olduğu C ve PHP'de çalışıyorum.

Çoğu durumda, en azından aşağıdaki bilgileri eklemek yararlı olur:

  • Kopyalama izni (veya no) / Şirket veya bireyin telif hakkı
  • Yazar Adı / e-posta
  • Yazıldığı tarih
  • Son değiştirilme tarihi

Bu, dosya üzerinde çalışan herkesin neye sahip olduklarını, ne yapabileceklerini ve ihtiyaç duydukları takdirde kimden yardım isteyebileceklerini bilmelerine yardımcı olmalıdır. Ayrıca onlara 10 yaşında bir şeye bakıp bakmadıklarını da söyler.


0

Ben şahsen bunu yapmıyorum çünkü diğerleri gibi söylediği ekstra belgeler, sürüm kontrolünde. Ama bir çeşit kung-fu kod snippit yapacak olsaydım, muhtemelen IDE'm otomatik olarak üretebildiği her şeye gidebilirdim.

Örneğin, bu yararlı CNTools yüklü ile Delphi 7 kullanarak

///a [enter]

ve dışarı geliyor

//<author></author>

sonra yazarım

///d [enter]

ve dışarı geliyor

 //<date></date>

Bunun, bazı üçüncü taraf araçların alabileceği bir şeye karşılık geldiğini hayal edebilirim, ama bana gelince, kendimi telafi etmek ve bozmak zorunda olmadığım bir standardım var.

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.