İçeriğe geç

Ultralytics Açık Kaynak YOLO Depolarına Katkıda Bulunma

Katkıda bulunmaya gösterdiğiniz ilgi için teşekkür ederiz. Ultralytics Açık kaynak YOLO Depoları! Katkılarınız projeyi geliştirecek ve tüm topluluğa fayda sağlayacaktır. Bu belge, başlamanıza yardımcı olacak yönergeler ve en iyi uygulamalar sağlar.

İçindekiler

  1. Davranış Kuralları
  2. Çekme İstekleri ile Katkıda Bulunma
  3. Hataların Raporlanması
  4. Lisans
  5. Sonuç

Davranış Kuralları

Herkes için sıcak ve kapsayıcı bir ortam sağlamak için tüm katılımcılar Davranış Kurallarına uymalıdır.

Çekme İstekleri ile Katkıda Bulunma

Çekme istekleri şeklindeki katkıları memnuniyetle karşılıyoruz. İnceleme sürecini kolaylaştırmak için lütfen şu yönergeleri izleyin:

  1. Depoyu çatallayın: Ultralytics YOLO deposunu GitHub hesabınıza çatallayın.

  2. Bir şube oluşturun: Çatallanmış deponuzda değişiklikleriniz için açıklayıcı bir adla yeni bir dal oluşturun.

  3. Değişikliklerinizi yapın: Değişikliklerinizin projenin kodlama stiline uygun olduğundan ve yeni hatalar veya uyarılar getirmediğinden emin olun.

  4. Değişikliklerinizi test edin: Beklendiği gibi çalıştıklarından ve yeni sorunlara yol açmadıklarından emin olmak için değişikliklerinizi yerel olarak test edin.

  5. Değişikliklerinizi işleyin: Değişikliklerinizi açıklayıcı bir commit mesajı ile commit edin. İlgili tüm sorun numaralarını commit mesajınıza ekleyin.

  6. Bir çekme isteği oluşturun: Çatallanmış deponuzdan ana Ultralytics YOLO deposuna bir çekme isteği oluşturun. Değişikliklerinizin ve projeyi nasıl geliştirdiklerinin net bir açıklamasını sağlayın.

CLA İmzalama

Çekme isteğinizi kabul etmeden önce, bir Katılımcı Lisans Sözleşmesi (CLA) imzalamanız gerekir. Bu yasal belge, katkılarınızın uygun şekilde lisanslanmasını ve projenin AGPL-3.0 lisansı altında dağıtılmaya devam etmesini sağlar.

CLA'yı imzalamak için, PR'nizi gönderdikten sonra CLA botu tarafından sağlanan talimatları izleyin ve PR'nize şöyle bir yorum ekleyin:

I have read the CLA Document and I sign the CLA

Google-Style Docstrings

Yeni fonksiyonlar veya sınıflar eklerken, diğer geliştiricilere açık ve özlü belgeler sağlamak için Google tarzı bir docstring ekleyin. Bu, katkılarınızın kolay anlaşılmasını ve sürdürülmesini sağlamaya yardımcı olur.

Örnek Doküman Dizeleri

Bu örnekte Google tarzı bir docstring gösterilmektedir. Hem girdi hem de çıktının types her zaman parantez içine alınmalıdır, yani, (bool).

def example_function(arg1, arg2=4):
    """
    Example function that demonstrates Google-style docstrings.

    Args:
        arg1 (int): The first argument.
        arg2 (int): The second argument. Default value is 4.

    Returns:
        (bool): True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

Bu örnekte hem Google tarzı docstring hem de argüman ve dönüş tipi ipuçları gösterilmektedir, ancak her ikisi de gerekli değildir; biri diğeri olmadan da kullanılabilir.

def example_function(arg1: int, arg2: int = 4) -> bool:
    """
    Example function that demonstrates Google-style docstrings.

    Args:
        arg1: The first argument.
        arg2: The second argument. Default value is 4.

    Returns:
        True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

Daha küçük veya daha basit işlevler, tek satırlık bir belge dizisi kullanabilir. Not: Belge dizisi 3 çift tırnak kullanmalı ve büyük harfle başlayıp nokta ile biten tam bir cümle olmalıdır.

def example_small_function(arg1: int, arg2: int = 4) -> bool:
    """Example function that demonstrates a single-line docstring."""
    return arg1 == arg2

GitHub Eylemleri CI Testleri

Çekme isteğiniz birleştirilmeden önce, tüm GitHub Actions Sürekli Entegrasyon (CI) testleri geçmelidir. Bu testler, değişikliklerinizin projenin kalite standartlarını karşıladığından emin olmak için linting, birim testleri ve diğer kontrolleri içerir. GitHub Eylemlerinin çıktısını inceleyin ve varsa sorunları giderin.

Hataların Raporlanması

Projenin kalitesinin korunmasında çok önemli bir rol oynadıkları için hata raporlarını takdir ediyoruz. Hataları bildirirken, Minimum Yeniden Üretilebilir Örnek sağlamak önemlidir: sorunu tekrarlayan açık, özlü bir kod örneği. Bu, hatanın hızlı bir şekilde tanımlanmasına ve çözülmesine yardımcı olur.

Lisans

Ultralytics depoları için GNU Affero Genel Kamu Lisansı v3.0'ı (AGPL-3.0 ) benimser ve yazılım geliştirmede açıklığı, şeffaflığı ve işbirliğine dayalı iyileştirmeyi teşvik eder. Bu güçlü copyleft lisansı, tüm kullanıcıların ve geliştiricilerin yazılımı kullanma, değiştirme ve paylaşma özgürlüğünü korumasını sağlar. Herhangi bir iyileştirmenin herkes tarafından erişilebilir kalmasını sağlayarak topluluk işbirliğini teşvik eder.

Kullanıcıların ve geliştiricilerin Ultralytics açık kaynak topluluğuna etkin ve etik bir şekilde katkıda bulunabilmeleri için AGPL-3.0 şartlarını öğrenmeleri teşvik edilmektedir.

Sonuç

Ultralytics açık kaynaklı YOLO projelerine katkıda bulunmaya gösterdiğiniz ilgi için teşekkür ederiz. Katılımınız, yazılımımızın geleceğini şekillendirmek ve bir yenilik ve işbirliği topluluğunu teşvik etmek için çok önemlidir. İster kodu geliştiriyor, ister hataları bildiriyor veya özellikler öneriyor olun, katkılarınız önemli bir etki yaratır.

Fikirlerinizi eylemde görmek için sabırsızlanıyoruz ve nesne algılama teknolojisini geliştirmeye olan bağlılığınızı takdir ediyoruz. Bu heyecan verici açık kaynak yolculuğunda birlikte büyümeye ve yenilik yapmaya devam edelim. Mutlu kodlamalar! 🚀🌟

SSS

Neden Ultralytics YOLO açık kaynak depolarına katkıda bulunmalıyım?

Ultralytics YOLO açık kaynak depolarına katkıda bulunmak, yazılımın geliştirilmesine yardımcı olarak tüm topluluk için daha sağlam ve zengin özelliklere sahip olmasını sağlar. Katkılar kod geliştirmeleri, hata düzeltmeleri, dokümantasyon iyileştirmeleri ve yeni özellik uygulamalarını içerebilir. Ayrıca, katkıda bulunmak, diğer yetenekli geliştiriciler ve alandaki uzmanlarla işbirliği yapma şansı sunarak kendi becerilerinizi ve itibarınızı artırır. Nasıl başlayacağınız hakkında bilgi için Çekme İstekleri ile Katkıda Bulunma bölümüne bakın.

Ultralytics YOLO için Katılımcı Lisans Sözleşmesini (CLA) nasıl imzalarım?

Katılımcı Lisans Sözleşmesini (CLA) imzalamak için, çekme isteğinizi gönderdikten sonra CLA botu tarafından sağlanan talimatları izleyin. Bu, katkılarınızın AGPL-3.0 lisansı altında uygun şekilde lisanslanmasını ve açık kaynaklı projenin yasal bütünlüğünün korunmasını sağlayacaktır. Çekme isteğinize bahseden bir yorum ekleyin:

I have read the CLA Document and I sign the CLA

Daha fazla bilgi için CLA İmzalama bölümüne bakın.

Google tarzı dokümanlar nedir ve Ultralytics YOLO katkıları için neden gereklidir?

Google-tarzı dokümanlar, fonksiyonlar ve sınıflar için açık ve özlü dokümantasyon sağlayarak kodun okunabilirliğini ve sürdürülebilirliğini artırır. Bu dokümanlar, fonksiyonun amacını, argümanlarını ve geri dönüş değerlerini belirli biçimlendirme kurallarıyla özetler. Ultralytics YOLO adresine katkıda bulunurken, Google tarzı dokümantasyonlara bağlı kalmak, eklemelerinizin anlaşılır ve iyi belgelenmiş olmasını sağlar. Örnekler ve yönergeler için Google-Style Docstrings bölümünü ziyaret edin.

Değişikliklerimin GitHub Actions CI testlerini geçtiğinden nasıl emin olabilirim?

Çekme isteğiniz birleştirilmeden önce, tüm GitHub Actions Sürekli Entegrasyon (CI) testlerini geçmelidir. Bu testler, kodun projenin kalite standartlarını karşıladığından emin olmak için linting, birim testleri ve diğer kontrolleri içerir. GitHub Eylemlerinin çıktısını inceleyin ve sorunları giderin. CI süreci hakkında ayrıntılı bilgi ve sorun giderme ipuçları için GitHub Actions CI Testleri bölümüne bakın.

Ultralytics YOLO depolarındaki bir hatayı nasıl bildirebilirim?

Bir hatayı bildirmek için, hata raporunuzla birlikte açık ve özlü bir Minimum Tekrarlanabilir Örnek sağlayın. Bu, geliştiricilerin sorunu hızla tanımlamasına ve düzeltmesine yardımcı olur. Örneğinizin asgari düzeyde ancak sorunu tekrarlamak için yeterli olduğundan emin olun. Hata bildirme ile ilgili daha ayrıntılı adımlar için Hata Bildirme bölümüne bakın.



Oluşturma 2023-11-12, Güncelleme 2024-07-04
Yazarlar: glenn-jocher (8), UltralyticsAssistant (1)

Yorumlar