Kod paylaşımı için en iyi / Kötü uygulamalar? [kapalı]


9

Github'u ne kadar çok keşfedersem , o kadar çok hoşuma gider . Kodlamanın nasıl daha sosyal hale geldiğini gerçekten seviyorum.

Programcıların kodlarını birbirleriyle paylaşmaktan kaçınmaları gereken kötü uygulamalar olup olmadığını merak ediyorum . Kötü uygulamaları adlandırırken, kod paylaşımı için en iyi uygulamalar nelerdir?

Örneğin:

Tek bir repo için 'MiscProjects' adında birden fazla komut dosyası / proje olması kötü bir uygulama mıdır ? Bu repo, adından da anlaşılacağı gibi, çeşitli küçük senaryolar ve projelerin bir koleksiyonudur. Bu, bir programcının yerel depolama alanındaki projeleri nasıl düzenlediğine benzeyebilir, ancak muhtemelen kod paylaşımı için uygun değildir?

Belki iyi bir README / dokümantasyon yapılırsa daha iyi olur? Ya da iyi belgelendiği sürece, bir şey olur mu?

Yanıtlar:


9

Hiçbir Oradayken 'kötü uygulamalar' aynı şekilde diğer sürüm kontrol sistemleri ile taş set, orada konvansiyonlar .

Git deponuz mümkün olduğunca küçük olmalıdır. CVS / SVN modülünden geliyorsanız, bir dizi proje için birden fazla depo oluşturabilecek yapılandırılmış tek bir depoya sahip olmak yaygındı. Git yolu her proje için ayrı Git repo bu bölmek ve sahip olmaktır. Nedenleri:

  • Git daha küçük depolar için daha hızlıdır .
  • Tasarımı nedeniyle, her işlem tüm repoyu etkiler . Yalnızca bunlardan biri üzerinde çalışıyorsanız Git işlemlerini gerekli projeler üzerinde gerçekleştirmek yetersizdir.

Belgeler her zamanki gibi bir zorunluluktur. İnsanlar kodu okuma konusunda becerikli olsalar da hiç kimse kodu gereğinden fazla yorumlamak istemez . Projeyi ve Git repo'sunun yapısını tanımlamak için en üst düzey README'yi kullanmak, projeye dahil olanlar (veya dahil olmak isteyenler) için her zaman iyi bir şey olacaktır.

GitHub'daki projenin büyük çoğunluğu sözleşmelere uygundur. Bunları gelecekteki projelerinizi nasıl yapılandıracağınıza örnek olarak kullanı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.