Yolo Vision Thâm Quyến
Thâm Quyến
Tham gia ngay

Mẹo để bắt đầu đóng góp vào các dự án mã nguồn mở của Ultralytics

Abirami Vina

4 phút đọc

28 tháng 8, 2024

Tìm hiểu cách đóng góp vào các dự án mã nguồn mở Ultralytics và khám phá các mẹo hay nhất liên quan đến tài liệu, đánh giá PR và sử dụng các công cụ thiết yếu.

Nền tảng của phần mềm mã nguồn mở là sự hợp tác, học hỏi và chia sẻ. Các dự án mã nguồn mở là một cách tuyệt vời để mọi người cùng nhau xây dựng một cái gì đó lớn hơn chính họ. Tại Ultralytics, chúng tôi luôn coi trọng các nguyên tắc của mã nguồn mở và luôn khuyến khích bạn đóng góp vào các dự án mã nguồn mở của chúng tôi. 

Nếu bạn hào hứng đóng góp, cho dù đó là thông qua viết tài liệu, xem xét code hoặc giải quyết các vấn đề, nhưng không chắc nên bắt đầu từ đâu hoặc đang gặp phải một số vấn đề, chúng tôi sẵn sàng trợ giúp bạn bắt đầu. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn một số mẹo để bắt đầu đóng góp vào các dự án mã nguồn mở của Ultralytics. Hãy cùng bắt đầu!

Tầm quan trọng của những đóng góp từ cộng đồng Ultralytics

Trước khi xem xét cách đóng góp, hãy trả lời câu hỏi tại sao những đóng góp lại rất quan trọng. Chúng tôi thực sự tin vào tầm quan trọng của những đóng góp từ cộng đồng Ultralytics. Bằng cách tham gia vào các dự án mã nguồn mở của chúng tôi, bạn không chỉ giúp chúng tôi xây dựng phần mềm tốt hơn. Những người đóng góp đóng một vai trò quan trọng trong việc đảm bảo rằng công nghệ của chúng tôi vẫn mở, mang tính hợp tác và không ngừng phát triển. Những đóng góp của bạn giúp các dự án của chúng tôi phát triển mạnh mẽ, dễ tiếp cận và mang lại lợi ích cho người dùng và nhà phát triển trên toàn thế giới!

Ngoài việc tạo ra phần mềm tiên tiến, đóng góp vào các dự án Ultralytics cũng là một cơ hội tuyệt vời để bạn phát triển. Bạn có thể phát triển các kỹ năng viết mã, giải quyết vấn đề và làm việc nhóm của mình trong khi làm việc cùng với các nhà phát triển giàu kinh nghiệm, những người có thể đưa ra hướng dẫn và chia sẻ các phương pháp hay nhất. Những nỗ lực của bạn có thể có tác động thực sự đến các công cụ được hàng ngàn người trên toàn cầu sử dụng. Tham gia với cộng đồng của chúng tôi cũng có thể giúp bạn mở rộng mạng lưới chuyên nghiệp, mở ra những cơ hội mới và nâng cao hồ sơ năng lực của bạn để bạn nổi bật với các nhà tuyển dụng.

Hình 1. Lý do để đóng góp. Ảnh của tác giả.

Cách bắt đầu đóng góp vào Ultralytics mã nguồn mở

Một nơi tuyệt vời để bắt đầu là xem hướng dẫn đóng góp chính thức của Ultralytics. Nó chứa đầy các phương pháp hay nhất và mẹo để giúp bạn tận dụng tối đa các đóng góp của mình. Bước đầu tiên là làm quen với những gì đã là một phần của dự án bằng cách hiểu hướng dẫn đóng góp và đi sâu vào mã. 

Cho dù bạn đang muốn đóng góp vào quá trình phát triển hay chỉ muốn khám phá code mới nhất, bước tiếp theo là clone kho lưu trữ Ultralytics. Sau khi bạn thực hiện xong việc đó, bạn có thể chuyển đến thư mục dự án và cài đặt gói ở chế độ có thể chỉnh sửa, như được hiển thị trong đoạn code bên dưới.

Nếu bạn cần trợ giúp, hướng dẫn khởi động nhanh của chúng tôi có mọi thứ bạn cần để bắt đầu suôn sẻ.

Các lĩnh vực khác nhau để đóng góp

Sau khi bạn đã thiết lập môi trường của mình và làm quen với dự án, bạn có thể khám phá các lĩnh vực khác nhau, nơi bạn có thể tạo ra tác động có ý nghĩa. Ultralytics cung cấp một số cách để tham gia và bạn có thể chọn cách đóng góp dựa trên kỹ năng và sở thích của mình. 

Sau đây là một số tùy chọn:

  • Tài liệu (Documentation): Đóng góp vào tài liệu là một cách tuyệt vời để đi sâu vào dự án đồng thời trau dồi kỹ năng viết của bạn. Bạn có thể giúp bằng cách cải thiện tài liệu hiện có, thêm các chi tiết còn thiếu hoặc tạo các hướng dẫn mới giúp người khác đóng góp dễ dàng hơn.
  • Sửa lỗi (Bug fixes): Nếu bạn có một số kinh nghiệm viết code, hãy cân nhắc việc sửa lỗi. Chúng có thể từ các điều chỉnh nhỏ đến các vấn đề phức tạp hơn, mang đến cho bạn cơ hội tạo ra tác động hữu hình đến dự án.
  • Cải tiến tính năng: Đối với những người đã sẵn sàng đi sâu hơn, việc thực hiện các cải tiến tính năng có thể vừa mang tính thử thách vừa mang lại nhiều lợi ích. Điều này có thể bao gồm việc thêm các tính năng mới, cải thiện các tính năng hiện có hoặc làm việc trên lộ trình dự án.
  • Xem xét các pull request: Xem xét các pull request là một cách đóng góp giá trị khác, đặc biệt nếu bạn đã quen thuộc với các tiêu chuẩn và thông lệ tốt nhất của dự án. Bằng cách cung cấp phản hồi và đề xuất cải tiến, bạn giúp duy trì chất lượng và tính toàn vẹn của codebase.
  • Thảo luận cộng đồng: Tham gia vào các cuộc thảo luận cộng đồng là một cách tuyệt vời để đóng góp nếu bạn thích cộng tác và chia sẻ ý tưởng. Hãy tham gia vào các cuộc trò chuyện đang diễn ra, đề xuất ý tưởng mới hoặc giúp đỡ người khác bằng cách đưa ra những hiểu biết và giải pháp của bạn.

Mỗi lĩnh vực này cung cấp một cách đóng góp độc đáo và bạn có thể chọn lĩnh vực phù hợp nhất với thế mạnh và sở thích của mình. Hãy nhớ rằng, mọi đóng góp, dù nhỏ đến đâu, đều đóng một vai trò quan trọng trong việc giúp Ultralytics phát triển và tiến hóa.

Hình 2. Mọi đóng góp đều được trân trọng trong cộng đồng đang phát triển của chúng tôi. Nguồn ảnh: Envato Elements.

Đóng góp vào tài liệu mã nguồn mở Ultralytics

Khi đóng góp vào tài liệu Ultralytics, hãy nhớ xem lại tài liệu hiện có và kiểm tra mọi vấn đề hoặc thảo luận làm nổi bật các lĩnh vực cần cải thiện. Làm như vậy giúp đảm bảo những đóng góp của bạn tập trung vào nơi chúng cần thiết nhất. 

Khi viết hoặc chỉnh sửa, hãy nhớ rằng điều quan trọng là tuân theo các nguyên tắc của dự án để duy trì tính nhất quán. Dưới đây là một vài mẹo định dạng:

  • Luôn sử dụng định dạng Markdown.
  • Bắt đầu mỗi tài liệu bằng một phần giới thiệu rõ ràng, đồng thời sử dụng ngôn ngữ đơn giản và dễ hiểu. 
  • Sử dụng dấu đầu dòng cho danh sách, văn bản mô tả cho liên kết và hình ảnh dưới 1 MB để các trang tải nhanh chóng.
  • Trong trường hợp bạn có thắc mắc về định dạng, một cách dễ dàng để kiểm tra kỹ định dạng của bạn là kiểm tra cách định dạng tài liệu trước đó.
Hình 3. Một ví dụ về định dạng Markdown (ở bên trái) và tài liệu trực quan hóa cuối cùng (ở bên phải). Ảnh của tác giả.

Sau khi bạn đã tạo bản nháp, điều quan trọng là phải xem trước nó bằng cách xây dựng tài liệu cục bộ. Bạn có thể phát hiện bất kỳ vấn đề nào trước khi gửi. Để thực hiện việc này, hãy bắt đầu bằng cách sao chép kho lưu trữ và điều hướng đến thư mục dự án:

Tiếp theo, bạn có thể cài đặt các dependency cần thiết:

Cuối cùng, hãy chạy tài liệu cục bộ để xem lại các thay đổi của bạn:

Bạn có thể xem tài liệu được xây dựng cục bộ bằng cách điều hướng đến `http://127.0.0.1:8000/` trong trình duyệt web của bạn. 

Sau khi xem xét về tính rõ ràng, chính xác và nhất quán, bạn có thể gửi yêu cầu kéo (pull request) với mô tả rõ ràng về tài liệu bạn đã tạo. Hãy nhớ đặt tài liệu vào phần thích hợp dựa trên vị trí phù hợp nhất của nó (hướng dẫn, giải pháp, tích hợp, v.v.). Vui lòng xem xét tệp index.md cho các phần liên quan và tệp mkdocs.yml tổng thể, đồng thời thực hiện mọi cập nhật cần thiết. Sự chú ý đến chi tiết sẽ giúp quá trình xem xét diễn ra suôn sẻ và đảm bảo đóng góp của bạn được tích hợp tốt vào dự án.

Những điều cần lưu ý khi đóng góp vào mã nguồn mở

Khi đóng góp mã cho dự án Ultralytics, điều quan trọng là phải tuân theo các phương pháp tốt nhất để giúp đảm bảo mã của bạn sạch, dễ bảo trì và dễ tích hợp. Dưới đây là một số điểm chính cần ghi nhớ:

  • Tránh trùng lặp mã: Sử dụng lại mã hiện có bất cứ khi nào có thể và giảm thiểu các đối số không cần thiết.
  • Thực hiện các thay đổi nhỏ hơn, tập trung hơn: Tập trung vào các thay đổi nhỏ hơn, có mục tiêu thay vì các sửa đổi lớn.
  • Đơn giản hóa hoặc loại bỏ mã: Tìm cơ hội để đơn giản hóa mã hoặc loại bỏ các phần không cần thiết.
  • Viết docstring hiệu quả: Giải thích rõ ràng những gì code của bạn làm và liên kết đến các tài nguyên liên quan.
  • Tránh các phụ thuộc không cần thiết: Chỉ thêm các phụ thuộc nếu chúng thực sự cần thiết.
Hình 4. Các phương pháp hay nhất để viết tài liệu mã nguồn.

Điều quan trọng nữa là phải xem xét khả năng bảo trì lâu dài của codebase. Trước khi thực hiện bất kỳ thay đổi nào, hãy tự hỏi liệu những sửa đổi của bạn có thể phá vỡ code hiện có của người khác đang sử dụng Ultralytics hay không. Nếu vậy, hãy xem xét cách giải quyết vấn đề này và đảm bảo rằng các thay đổi của bạn tương thích nhất có thể.

Sau khi bạn đã phát triển một đoạn mã để đóng góp, bạn sẽ cần kiểm tra nó. Bạn có thể sử dụng các framework như pytest để kiểm tra các thay đổi của mình trước khi gửi chúng. Định dạng mã nhất quán là một khía cạnh khác trong đóng góp của bạn rất quan trọng. Các công cụ như Ruff Formatter có thể giúp bạn duy trì tính nhất quán về mặt phong cách và phát hiện bất kỳ lỗi hoặc sự không nhất quán logic nào trong mã của bạn. 

Xem xét các yêu cầu kéo

Xem xét các yêu cầu kéo (PR) là một cách tuyệt vời để đóng góp! PR được đưa ra khi ai đó yêu cầu hợp nhất các thay đổi của họ vào dự án chính. Nó giúp dự án Ultralytics hoạt động trơn tru. Khi bạn xem xét một PR, hãy đảm bảo bạn hiểu lý do tại sao các thay đổi được thực hiện. Tác giả nên giải thích rõ ràng mục đích và lợi ích của bản cập nhật và bạn nên thấy bằng chứng về thử nghiệm kỹ lưỡng trong PR của họ. 

Hình 5. Pull request là gì?

Hãy cùng xem qua một vài điều quan trọng cần tập trung vào.

  • Kiểm tra unit test: Kiểm tra xem PR có bao gồm các kiểm thử cho các tính năng mới hoặc thay đổi để xác nhận mã hoạt động như mong đợi và không gây ra lỗi hay không.
  • Xem lại các cập nhật tài liệu: Xác minh rằng tài liệu đã được cập nhật để phản ánh các thay đổi hoặc tính năng mới, bao gồm các ví dụ, tham chiếu API và các chi tiết liên quan khác.
  • Đánh giá tác động hiệu suất: Xem xét những thay đổi ảnh hưởng đến hiệu suất như thế nào. Nếu cần, hãy yêu cầu các điểm chuẩn hiệu suất hoặc thử nghiệm bổ sung.
  • Xác minh các kiểm thử CI (Verify CI tests): Đảm bảo tất cả các kiểm thử Tích hợp liên tục (Continuous Integration - CI) đều vượt qua, bao gồm kiểm tra định dạng mã và kết quả kiểm thử đơn vị.
  • Cộng tác sửa lỗi: Nếu bất kỳ kiểm thử nào không thành công, hãy làm việc với tác giả để giải quyết các vấn đề trước khi phê duyệt PR.

Là một người đánh giá, hãy đảm bảo cung cấp phản hồi cụ thể và rõ ràng về bất kỳ vấn đề hoặc mối quan tâm nào. Đưa ra các đề xuất để cải thiện và đặt câu hỏi giúp tác giả suy nghĩ thấu đáo về các vấn đề tiềm ẩn. Khuyến khích họ tuân theo các phương pháp hay nhất trong mã hóa, kiểm tra và lập tài liệu, đồng thời đừng ngần ngại chỉ cho họ các tài nguyên có thể giúp ích. Cuối cùng nhưng không kém phần quan trọng, hãy luôn ghi nhận nỗ lực mà tác giả đã bỏ ra cho PR. Phản hồi tích cực giúp duy trì một bầu không khí thân thiện và hợp tác trong cộng đồng mã nguồn mở.

Đóng góp là tất cả về cộng đồng

Đóng góp cho các dự án mã nguồn mở như Ultralytics có thể mang lại cho bạn cảm giác cộng đồng đầy cảm hứng. Cho dù bạn đang viết mã, xem xét PR, cập nhật tài liệu hay tham gia thảo luận, mọi nỗ lực đều giúp dự án phát triển và tiến hóa. Trả lời các vấn đề hoặc tham gia vào các cuộc trò chuyện, cho dù trên GitHub, Discord, Subreddit hay các diễn đàn khác, là một cách có giá trị để đóng góp và kết nối với những người khác. Hãy nhớ rằng, những đóng góp của bạn, dù nhỏ đến đâu, đều tạo ra tác động đáng kể và giúp thúc đẩy một môi trường hợp tác và hỗ trợ cho tất cả mọi người!

Tại Ultralytics, chúng tôi đam mê thúc đẩy sự đổi mới trong cộng đồng mã nguồn mở. Luôn cập nhật những phát triển mới nhất của chúng tôi bằng cách truy cập kho lưu trữ GitHub của chúng tôi. Tham gia cộng đồng sôi động của chúng tôi và xem cách chúng tôi đang tạo ra tác động trên các ngành như nông nghiệpsản xuất.

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard