0
0
Lập trình
Admin Team
Admin Teamtechmely

Kinh nghiệm đóng góp vào dự án mã nguồn mở

Đăng vào 1 tháng trước

• 5 phút đọc

Chủ đề:

KungFuTech

Kinh nghiệm đóng góp vào dự án mã nguồn mở

Trong quá trình học tập, tôi đã có cơ hội tham gia đóng góp vào một kho mã nguồn mở của bạn cùng lớp bằng cách thêm một tính năng mới và gửi Pull Request (PR). Đây là lần đầu tiên tôi thực hiện quy trình làm việc theo phong cách mã nguồn mở đầy đủ, và nó đã giúp tôi hiểu rõ hơn về cách thức cộng tác trên GitHub.

Tính năng Recent Changes Filter

Tính năng mà tôi đã triển khai là Recent Changes Filter. Mục đích của tính năng này là khi chạy công cụ với cờ --recent hoặc -r, nó chỉ bao gồm các tệp đã được sửa đổi trong 7 ngày qua. Điều này giúp đầu ra tập trung hơn vào việc phát triển hiện tại thay vì toàn bộ dự án.

Cách triển khai tính năng

Để đạt được tính năng này, tôi đã thêm một cờ CLI mới (--recent / -r) sử dụng thư viện Commander, với một tham số số tùy chọn (ví dụ: -r 3). Tôi kiểm tra thời gian sửa đổi cuối cùng của tệp bằng cách sử dụng hàm fs.statSync(file).mtime của Node. Sau đó, tôi lọc danh sách các tệp đã phát hiện để chỉ giữ lại những tệp đã được sửa đổi trong số ngày đã cho (mặc định là 7 ngày nếu không có số nào được cung cấp). Tôi cũng đã cập nhật đầu ra để phần Nội dung tệp chỉ bao gồm những tệp gần đây này, và thêm một dòng tóm tắt nhỏ để hiển thị số lượng tệp gần đây được tìm thấy.

Tạo GitHub Issue

Trước khi bắt đầu mã hóa, tôi đã tạo một GitHub Issue trong kho của bạn cùng lớp, mô tả tính năng này. Tôi giải thích lý do tại sao nó hữu ích, cách tôi dự định triển khai nó và tôi muốn làm việc trên đó. Bằng cách này, chủ kho có thể thấy kế hoạch của tôi và đưa ra phản hồi.

Quy trình PR

Quy trình PR diễn ra suôn sẻ. Chủ kho đã xem xét mã của tôi và đưa ra phản hồi về tính năng. Sau đó, tôi đã cập nhật với ngày tùy chỉnh và PR đã được hợp nhất. Từ đó, tôi đã học được tầm quan trọng của việc giữ cho các commit nhỏ và tập trung, cũng như viết mô tả PR rõ ràng giải thích những gì bạn đã thay đổi và lý do tại sao.

Kinh nghiệm từ việc xem xét PR

Đồng thời, tôi cũng nhận được một PR trên dự án của riêng mình (PR #6). Điều đầu tiên tôi học được là cách đưa nhánh PR của người khác vào máy cục bộ của mình để kiểm tra. Việc xem xét mã của người khác cảm thấy khác biệt vì tôi phải suy nghĩ như một người duy trì. Tôi đã kiểm tra xem những thay đổi của họ có làm hỏng bất kỳ chức năng nào hiện có không, liệu mã có tuân theo phong cách của dự án, và liệu tính năng có phù hợp với mục tiêu của dự án không. Tôi đã yêu cầu một thay đổi nhỏ trước khi hợp nhất, và người đóng góp đã nhanh chóng cập nhật mã của họ. Sau khi kiểm tra, tôi đã hợp nhất PR.

Bài học từ quy trình xem xét mã

Điều này đã dạy tôi rằng việc xem xét mã không chỉ là tìm kiếm lỗi, mà còn về giao tiếp: đưa ra phản hồi rõ ràng, xây dựng và đảm bảo rằng người đóng góp cảm thấy được hỗ trợ. Thật thú vị khi thấy rằng những chi tiết nhỏ (như định dạng hoặc tên gọi) cũng có thể quan trọng trong việc cộng tác mã nguồn mở.

Những điều tôi đã học được

Nhìn chung, tôi đã học được cả hai phía của quy trình mã nguồn mở:

  • Với tư cách là một người đóng góp, tôi đã thực hành đọc mã nguồn của người khác, thêm một tính năng mà không làm hỏng chức năng hiện có và phản hồi lại phản hồi kiểm tra.
  • Với tư cách là một người duy trì, tôi đã thực hành xem xét mã một cách cẩn thận, yêu cầu cải tiến và hợp nhất các đóng góp.

Thực tiễn tốt nhất khi tham gia mã nguồn mở

  • Ghi chú rõ ràng: Khi gửi PR, hãy đảm bảo viết mô tả rõ ràng về những gì bạn đã thay đổi và lý do.
  • Giữ cho commit nhỏ: Những commit nhỏ hơn dễ dàng hơn để xem xét và hợp nhất.
  • Phản hồi xây dựng: Khi xem xét mã, hãy cung cấp phản hồi tích cực và xây dựng.

Những cạm bẫy thường gặp

  • Không kiểm tra kỹ trước khi gửi PR: Hãy luôn kiểm tra mã của bạn để đảm bảo không có lỗi trước khi gửi.
  • Không tương tác với người duy trì: Đừng ngại hỏi nếu bạn cần sự giúp đỡ hoặc có bất kỳ câu hỏi nào về quy trình.

Mẹo tối ưu hóa hiệu suất

  • Sử dụng các công cụ kiểm tra tự động: Sử dụng các công cụ như ESLint hoặc Prettier để giữ cho mã của bạn sạch sẽ và nhất quán.
  • Tối ưu hóa quy trình phát triển: Hãy sử dụng các nhánh khác nhau cho các tính năng và sửa lỗi để dễ dàng quản lý.

Giải quyết vấn đề

Nếu bạn gặp khó khăn trong việc đóng góp, hãy thử làm theo các bước sau:

  1. Kiểm tra tài liệu: Đảm bảo rằng bạn đã đọc tài liệu hướng dẫn của dự án.
  2. Tương tác với cộng đồng: Tham gia vào các diễn đàn hoặc kênh chat của dự án để hỏi ý kiến.
  3. Xem xét mã của người khác: Học từ những mã PR khác để cải thiện kỹ năng của bạn.

Kết luận

Việc tham gia vào các dự án mã nguồn mở không chỉ giúp bạn nâng cao kỹ năng lập trình mà còn giúp bạn phát triển khả năng làm việc nhóm và giao tiếp. Hãy bắt đầu tham gia vào các dự án mã nguồn mở ngay hôm nay để trải nghiệm những lợi ích mà nó mang lại. Nếu bạn có bất kỳ câu hỏi nào hoặc muốn chia sẻ kinh nghiệm của mình, hãy để lại ý kiến dưới bài viết này nhé!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào