Phát biểu từ kinh nghiệm ...
Dự án mã nguồn mở đầu tiên tôi đóng góp, tôi đầy đặn và dấm khi tôi mới bắt đầu.
Những gì tôi làm ngay lập tức là trải qua một loạt các tệp nguồn và bắt đầu cách điệu mọi thứ theo sở thích cá nhân của tôi, tạo ra một bản vá lớn và gửi nó.
Nếu bạn đang làm việc với ai đó 'tốt' (như tôi), anh ấy sẽ ngay lập tức từ chối bản vá. Chủ yếu là bởi vì, khi bạn đóng góp cho một dự án nguồn mở, bạn sẽ chia nhỏ các bản sửa lỗi của mình thành các phần có kích thước khớp cắn giải quyết một vấn đề duy nhất. 'Đã xóa tất cả các gotos' không phải là một ví dụ hay về cam kết nguyên tử. Ngay cả khi bạn chia nó thành các cam kết nhỏ hơn, được ghi chép đầy đủ trước tiên, nó vẫn có thể bị từ chối.
Lý do là bởi vì mã được làm việc bởi nhiều người (với các kiểu khác nhau) theo thời gian, việc chấp nhận các thay đổi trên toàn bộ thư viện để phù hợp với phong cách của một nhà phát triển là không khả thi. Nếu việc thay đổi phong cách vì lợi ích của phong cách là khả thi thì mọi dự án nguồn mở sẽ không bao giờ tiến lên vì mã sẽ liên tục được chỉnh sửa để phù hợp với các kiểu nhà phát triển khác nhau.
Tái cấu trúc mã và thêm chức năng (hoặc loại bỏ hành trình không dùng nữa) thường được ưu tiên hơn mã 'làm sạch'.
Phần khó nhất và bổ ích nhất khi làm việc trong một dự án nguồn mở là, bạn sẽ được hỏi tại sao bạn lại đề xuất thực hiện các thay đổi mà bạn đang gửi. Nếu bạn có thể đưa ra một lý do chính đáng thì sẽ có cơ hội tốt hơn rằng bản vá của bạn sẽ được gửi.
Lời khuyên của tôi là thực hiện một vài trong số những thay đổi này trên một tệp nguồn để đưa ra ý kiến về những gì bạn đang cố gắng thực hiện trước tiên. Nếu các thay đổi được chứng minh và chấp nhận tốt, hãy hỏi nếu có nhiều thay đổi như nó sẽ cải thiện chất lượng của dự án. Bằng cách đó, bạn sẽ không lãng phí rất nhiều nỗ lực cho việc gì nếu bản vá của bạn bị từ chối trong tương lai.
Phát triển nguồn mở nhiều hơn viết mã. Bạn đang làm việc để xây dựng mối quan hệ tin cậy bởi vì những người gác cổng (nhà phát triển kiểm soát truy cập đẩy) sẽ làm những gì họ có để bảo vệ tính toàn vẹn của dự án. Khi bạn gửi thêm các bản vá, người gác cổng sẽ cảm nhận rõ hơn về phong cách của bạn và bạn sẽ không phải biện minh cho những thay đổi của mình nhiều như vậy.
Đó là một quá trình mất thời gian nhưng nó rất bổ ích. Không chỉ bạn sẽ học được rất nhiều từ việc có thể để xem xét, phê bình và mã của người khác không nhưng bạn sẽ được phê bình về phong cách của riêng bạn.
Trước khi bạn lãng phí rất nhiều thời gian để cố gắng 'sửa chữa sự bất công của các lỗi trong phong cách mã hóa của người khác', hãy tự hỏi điều này:
Là những thay đổi bạn đang đề xuất dựa trên việc tăng thêm giá trị cho dự án hay chúng dựa trên tôn giáo phong cách nội bộ của riêng bạn.
Có rất nhiều tôn giáo trên Stack Overflow (và các trang web Stack Exchange liên quan). Ý tôi là một rất nhiều . Mọi người nghĩ và nói về phong cách không ngừng, như thể bạn càng nói về nó, bạn càng tiến gần đến phong cách mã hóa 'hoàn hảo, lý tưởng, không thể phá hủy, không thể sai lầm'. Tôi nói về nó rất nhiều vì nó rất vui.
Trong thế giới mã nguồn mở, phong cách không quá quan trọng. Chức năng là .
Lưu ý: Tất cả những lời khuyên này đều cho rằng người gác cổng của bạn là một lập trình viên hợp lý và tài năng. Nếu anh ấy là, hãy tự cho mình may mắn rằng bạn đã không bị mắc kẹt với một trong những người da trắng b @ & # & es có mối quan tâm duy nhất là bảo vệ 'đứa con' của họ. Họ làm tồn tại trong môi trường tự nhiên, vì vậy đừng ngạc nhiên nếu bạn gặp phải một.
goto
không nhất thiết là một mớ hỗn độn. Có nhiều trường hợp khi sử dụng của nó là hoàn toàn hợp lý.