Bỏ để qua phần nội dung

Đóng góp cho Ultralytics Mã nguồn mở YOLO Kho

Trước hết, cảm ơn bạn đã quan tâm đóng góp cho Ultralytics Mã nguồn mở YOLO Kho! Đóng góp của bạn sẽ giúp cải thiện dự án và mang lại lợi ích cho cộng đồng. Tài liệu này cung cấp các hướng dẫn và phương pháp hay nhất để giúp bạn bắt đầu.

Mục lục

  1. Quy tắc ứng xử
  2. Đóng góp thông qua Pull Request
  3. Báo cáo lỗi
  4. Giấy phép
  5. Kết thúc

Quy tắc ứng xử

Tất cả những người đóng góp phải tuân thủ Bộ quy tắc ứng xử để đảm bảo một môi trường chào đón và hòa nhập cho tất cả mọi người.

Đóng góp thông qua Pull Request

Chúng tôi hoan nghênh các đóng góp dưới dạng yêu cầu kéo. Để làm cho quá trình xem xét suôn sẻ hơn, vui lòng làm theo các nguyên tắc sau:

  1. Fork kho lưu trữ: Fork Ultralytics YOLO kho lưu trữ vào tài khoản GitHub của riêng bạn.

  2. Tạo nhánh: Tạo một nhánh mới trong kho lưu trữ phân nhánh của bạn với tên mô tả cho các thay đổi của bạn.

  3. Thực hiện thay đổi của bạn: Thực hiện các thay đổi bạn muốn đóng góp. Đảm bảo rằng các thay đổi của bạn tuân theo phong cách mã hóa của dự án và không đưa ra các lỗi hoặc cảnh báo mới.

  4. Kiểm tra các thay đổi của bạn: Kiểm tra cục bộ các thay đổi của bạn để đảm bảo rằng chúng hoạt động như mong đợi và không gây ra sự cố mới.

  5. Cam kết thay đổi: Cam kết thay đổi bằng thông điệp cam kết mô tả. Đảm bảo bao gồm mọi số vấn đề có liên quan trong thông báo cam kết của bạn.

  6. Tạo pull request: Tạo pull request từ forked repository của bạn đến main Ultralytics YOLO Kho. Trong phần mô tả pull request, hãy giải thích rõ ràng về các thay đổi của bạn và cách chúng cải thiện dự án.

Ký kết CLA

Trước khi chúng tôi có thể chấp nhận yêu cầu kéo của bạn, bạn cần ký Thỏa thuận cấp phép cộng tác viên (CLA). Đây là một tài liệu pháp lý nêu rõ rằng bạn đồng ý với các điều khoản đóng góp cho Ultralytics YOLO Kho. CLA đảm bảo rằng các đóng góp của bạn được cấp phép hợp lệ và dự án có thể tiếp tục được phân phối theo AGPL-3.0 giấy phép.

Để ký CLA, hãy làm theo hướng dẫn được cung cấp bởi bot CLA sau khi bạn gửi PR và thêm nhận xét trong PR của bạn rằng:

I have read the CLA Document and I sign the CLA

Chuỗi tài liệu kiểu Google

Khi thêm các hàm hoặc lớp mới, vui lòng bao gồm chuỗi tài liệu kiểu Google để cung cấp tài liệu rõ ràng và ngắn gọn cho các nhà phát triển khác. Điều này sẽ giúp đảm bảo rằng các đóng góp của bạn dễ hiểu và dễ duy trì.

Ví dụ về Docstrings

Ví dụ này hiển thị cả chuỗi tài liệu kiểu Google. Lưu ý rằng cả đầu vào và đầu ra types phải luôn được đặt trong ngoặc đơn, tức là (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

Ví dụ này hiển thị cả chuỗi tài liệu kiểu Google và gợi ý kiểu đối số và trả về, mặc dù cả hai đều không bắt buộc, nhưng cái này có thể được sử dụng mà không cần cái kia.

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

Các hàm nhỏ hơn hoặc đơn giản hơn có thể sử dụng chuỗi tài liệu một dòng. Lưu ý docstring phải sử dụng 3 dấu ngoặc kép, và là một câu hoàn chỉnh bắt đầu bằng chữ in hoa và kết thúc bằng dấu chấm.

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

Kiểm tra CI hành động GitHub

Trước khi yêu cầu kéo của bạn có thể được hợp nhất, tất cả các bài kiểm tra Tích hợp liên tục (CI) GitHub Actions phải vượt qua. Các thử nghiệm này bao gồm lớp lót, kiểm tra đơn vị và các kiểm tra khác để đảm bảo rằng các thay đổi của bạn đáp ứng các tiêu chuẩn chất lượng của dự án. Đảm bảo xem lại đầu ra của Hành động GitHub và khắc phục mọi sự cố

Báo cáo lỗi

Chúng tôi đánh giá cao các báo cáo lỗi vì chúng đóng một vai trò quan trọng trong việc duy trì chất lượng của dự án. Khi báo cáo lỗi, điều quan trọng là phải cung cấp Ví dụ có thể tái tạo tối thiểu: một ví dụ mã rõ ràng, súc tích sao chép vấn đề. Điều này giúp xác định và giải quyết lỗi nhanh chóng.

Giấy phép

Ultralytics Ôm lấy Giấy phép Công cộng GNU Affero v3.0 (AGPL-3.0) cho các kho lưu trữ của mình, thúc đẩy tính mở, minh bạch và tăng cường hợp tác trong phát triển phần mềm. Giấy phép copyleft mạnh mẽ này đảm bảo rằng tất cả người dùng và nhà phát triển giữ quyền tự do sử dụng, sửa đổi và chia sẻ phần mềm. Nó thúc đẩy sự hợp tác của cộng đồng, đảm bảo rằng mọi cải tiến vẫn có thể truy cập được cho tất cả mọi người.

Người dùng và nhà phát triển được khuyến khích tự làm quen với các điều khoản của AGPL-3.0 đóng góp hiệu quả và đạo đức cho Ultralytics cộng đồng mã nguồn mở.

Kết thúc

Cảm ơn bạn đã quan tâm đóng góp cho Ultralytics Mã nguồn mở YOLO Dự án. Sự tham gia của bạn là rất quan trọng trong việc định hình tương lai của phần mềm của chúng tôi và thúc đẩy một cộng đồng đổi mới và hợp tác. Cho dù bạn đang cải thiện mã, báo cáo lỗi hay đề xuất các tính năng, đóng góp của bạn đều tạo ra tác động đáng kể.

Chúng tôi rất mong muốn thấy ý tưởng của bạn hoạt động và đánh giá cao cam kết của bạn trong việc thúc đẩy công nghệ phát hiện đối tượng. Hãy tiếp tục phát triển và đổi mới cùng nhau trong hành trình mã nguồn mở thú vị này. Mã hóa vui vẻ! 🚀🌟



Đã tạo 2023-11-12, Cập nhật 2024-03-08
Tác giả: glenn-jocher (4)

Ý kiến