Aracılığıyla paylaş


Anlam Çekirdeğine Katkıda Bulunma

Sorunları göndererek, tartışma başlatarak ve çekme istekleri (PR) göndererek Anlam Çekirdeğine katkıda bulunabilirsiniz. Koda katkıda bulunmak büyük bir takdirdir, ancak karşılaştığınız sorunlarla ilgili sorunları dosyalamanız da çabalarımıza odaklanmamıza yardımcı olduğundan katkıda bulunmanın harika bir yoludur.

Sorunlar ve geri bildirim bildirme

Hata raporlarını, API tekliflerini ve genel geri bildirimleri her zaman bekliyoruz. GitHub'ı kullandığımızdan, ekiple bir konuşma başlatmak için Sorunlar ve Tartışmalar sekmelerini kullanabilirsiniz. Geri bildirimlerinize mümkün olan en kısa sürede yanıt verebilmemiz için sorun ve geri bildirim gönderirken birkaç ipucu aşağıdadır.

Raporlama sorunları

SDK'nın yeni sorunları, sorunlar listemizde bildirilebilir, ancak yeni bir sorun oluşturmadan önce, mevcut olmadığından emin olmak için lütfen sorun listesinde arama yapın. Anlam Çekirdeği belgeleriyle (bu site) ilgili sorunlarınız varsa, lütfen Anlam Çekirdeği belge deposunda bir sorun oluşturun.

Bildirmek istediğiniz konuyla ilgili mevcut bir sorun bulursanız lütfen tartışmaya kendi geri bildiriminizi ekleyin. Ayrıca, kapsamımızda popüler sorunların önceliklerini belirlememize yardımcı olduğundan, orijinal gönderiyi yukarı oylamayı (👍 tepki) kesinlikle öneririz.

İyi Bir Hata Raporu Yazma

İyi hata raporları, bakımcıların sorunu doğrulamasını ve temel soruna neden olmasını kolaylaştırır. Hata raporu ne kadar iyi olursa sorun o kadar hızlı çözülebilir. İdeal olarak, bir hata raporu aşağıdaki bilgileri içermelidir:

  • Sorunun üst düzey açıklaması.
  • Minimum çoğaltma, yani yanlış davranışı yeniden oluşturmak için gereken en küçük kod/yapılandırma boyutu.
  • Beklenen davranışın açıklaması, gözlemlenen gerçek davranışla karşıttır.
  • Ortam hakkında bilgi: işletim sistemi/dağıtım, CPU mimarisi, SDK sürümü vb.
  • Ek bilgiler, örneğin, önceki sürümlerden kaynaklanan bir regresyon mu? Bilinen geçici çözümler var mı?

Geri bildirim gönderiliyor

Anlam Çekirdeği hakkında genel geri bildiriminiz veya daha iyi hale getirme hakkında fikirleriniz varsa, lütfen bunu tartışma panomuzda paylaşın. Yeni bir tartışmaya başlamadan önce, mevcut olmadığından emin olmak için lütfen tartışma listesinde arama yapın.

Paylaşmak istediğiniz belirli bir fikriniz varsa fikirler kategorisini ve Anlam Çekirdeği hakkında sorularınız varsa Soru-Cevap kategorisini kullanmanızı öneririz.

Ayrıca, Anlam Çekirdeği Discord sunucusuna katılarak Discord topluluğunda tartışmalar başlatabilir (ve oluşturduğunuz geri bildirimleri paylaşabilirsiniz).

Geri bildirime öncelik vermemize yardımcı olun

Şu anda kapsamımızdaki sorunları ve özellikleri önceliklendirmemize yardımcı olmak için up-votes kullanıyoruz, bu nedenle lütfen ele almak istediğiniz sorunları veya tartışmaları oylayın.

Başkalarının bir özellikten yararlanacağını düşünüyorsanız, başkalarından sorunu oylamalarını istemenizi de öneririz. Bu, en çok kullanıcıyı etkileyen sorunları önceliklendirmemize yardımcı olur. İş arkadaşlarınızdan, arkadaşlarınızdan veya Discord'dan sorunun bağlantısını veya tartışmayı paylaşarak sorunu oylamalarını isteyebilirsiniz.

Çekme istekleri gönderme

Anlam Çekirdeğine yapılan katkıları memnuniyetle karşılıyoruz. Katkıda bulunmak istediğiniz bir hata düzeltmeniz veya yeni bir özelliğiniz varsa, çekme isteği (PR) göndermek için lütfen aşağıdaki adımları izleyin. Daha sonra, proje bakımcıları kod değişikliklerini gözden geçirir ve kabul edildikten sonra birleştirir.

Anlam Çekirdeğine katkıda bulunmak için aşağıdaki iş akışını kullanmanızı öneririz (bu, Anlam Çekirdeği ekibi tarafından kullanılan iş akışıyla aynıdır):

  1. Çalışmanız için bir sorun oluşturun.
    • Önemsiz değişiklikler için bu adımı atlayabilirsiniz.
    • Varsa, konu başlığında mevcut bir sorunu yeniden kullanın.
    • Ekipten ve topluluktan, sorundaki tartışmayı kullanarak önerdiğiniz değişikliğin iyi bir değişiklik olduğunu belirten bir anlaşma alın.
    • Uygulamada kullanacağınız sorunu net bir şekilde belirtin. Bu, sorunu size atamamıza olanak tanır ve başka birinin yanlışlıkla üzerinde çalışmamasını sağlar.
  2. GitHub'da deponun kişisel bir çatalını oluşturun (henüz deponuz yoksa).
  3. Çatalınızdaki main (git checkout -b mybranch) öğesinin dışında bir dal oluşturun.
    • Dalı, "issue-123" veya "githubhandle-issue" gibi amaçlarınızı açıkça iletecek şekilde adlandırın.
  4. Değişikliklerinizi yapın ve dalınıza işleyin.
  5. Varsa, değişikliğinize karşılık gelen yeni testler ekleyin.
  6. Değişikliklerinizle depoyu oluşturun.
    • Derlemelerin temiz olduğundan emin olun.
    • Yeni testleriniz de dahil olmak üzere tüm testlerin geçtiğinden emin olun.
  7. Deponun ana dalı için bir çekme isteği oluşturun.
    • Yaptığınız değişikliğin hangi sorunu veya iyileştirmeyi gidereceğini açıklamada belirtin.
    • Tüm Sürekli Tümleştirme denetimlerinin geçtiğini doğrulayın.
  8. Kod bakımcılarından geri bildirim veya değişikliklerinizin onaylanmasını bekleyin.
  9. Alan sahipleri oturumunuzu kapattığında ve tüm denetimler yeşil olduğunda çekme isteğiniz birleştirilir.

Katkıda bulunma sırasında Yapılacaklar ve Yapmazlar

Aşağıda, değişikliklerinizi en kısa sürede gözden geçirmemize ve birleştirmemize yardımcı olmak için Anlam Çekirdeğine katkıda bulunurken önerdiğimiz Dos ve Don'ların listesi yer alır.

Yapılacaklar:

  • Standart .NET kodlama stilini ve Python kod stilini izleyin
  • Genel yönergelerden farklıysa, değiştirdiğiniz projenin veya dosyanın geçerli stiline öncelik verin.
  • Yeni özellikler eklerken testleri dahil edin . Hataları düzeltirken, geçerli davranışın nasıl bozulduğunu vurgulayan bir test ekleyerek başlayın.
  • Tartışmalara odaklanın. Yeni veya ilgili bir konu çıktığında, yeni bir sorun oluşturmak, tartışmayı yan yana izlemekten daha iyidir.
  • Uygulamayı üstlendiğiniz bir sorunu net bir şekilde belirtin.
  • Katkılarınız hakkında blog ve/veya tweet atın!

Yapılmayacaklar:

  • Büyük çekme istekleriyle takımı şaşırtmayın . Katkıda bulunanları desteklemek istiyoruz, bu nedenle büyük miktarda zaman harcamadan önce bir yönde anlaşabilmemiz için bir sorun bildirmenizi ve bir tartışma başlatmanızı öneririz.
  • Yazmadığınız kodu işlemeyin. Anlam Çekirdeği'ne eklemek için uygun olduğunu düşündüğünüz kodu bulursanız, devam etmeden önce bir sorun oluşturun ve bir tartışma başlatın.
  • Lisansla ilgili dosyaları veya üst bilgileri değiştiren PR'ler göndermeyin . Onlarla ilgili bir sorun olduğuna inanıyorsanız, bir sorun oluşturun ve bunu tartışmayı memnuniyetle karşılarız.
  • Sorun oluşturmadan ve önce ekiple görüşmeden yeni API'ler yapmayın. Bir kitaplığa yeni genel yüzey alanı eklemek büyük bir sorundur ve doğru olduğundan emin olmak istiyoruz.

Hataya Neden Olan Değişiklikler

Katkıların API imzası ve davranış uyumluluğunu koruması gerekir. Mevcut kodu bozacak bir değişiklik yapmak istiyorsanız, lütfen fikrinizi tartışmak için bir sorun oluşturun veya hataya neden olan bir değişikliğin gerekli olduğunu düşünüyorsanız değiştirin. Aksi takdirde, hataya neden olan değişiklikleri içeren katkılar reddedilir.

Sürekli tümleştirme (CI) işlemi

Sürekli tümleştirme (CI) sistemi, PR'ler için gerekli derlemeleri otomatik olarak gerçekleştirir ve testleri (yerel olarak çalıştırmanız gerekenler dahil) çalıştırır. Çekme isteği birleştirilmeden önce derlemeler ve test çalıştırmaları temiz olmalıdır.

CI derlemesi herhangi bir nedenle başarısız olursa, çekme isteği sorunu giderilebilmek için hatanın nedenini belirlemek için kullanılabilecek bir bağlantıyla güncelleştirilir.

Belgelere katkıda bulunma

Ayrıca Anlam Çekirdeği belge deposuna yapılan katkıları kabul ediyoruz. Katkıda bulunmayı öğrenmek için lütfen Microsoft docs katkıda bulunan kılavuzuyla başlayın.