Tôi có nên phát hành mã nguồn để sửa lỗi không


15

Tôi có một lỗi trong ứng dụng của mình mà tôi đang xây dựng. Tôi đã hỏi một câu hỏi về SO và một trong những người dùng đã yêu cầu tôi đăng hoặc gửi tất cả mã cho anh ta để anh ta có thể xem nó.

Tôi hoàn toàn hiểu yêu cầu. Nó là hợp lệ và dễ hiểu. Tuy nhiên, tôi có nghi ngờ nếu tôi nên. Rõ ràng, tôi đưa cho anh ấy / cô ấy chìa khóa của vương quốc và tôi sẽ không có bất kỳ sự truy đòi nào nếu anh ấy / cô ấy làm điều gì đó độc hại.

Tôi cũng muốn thêm rằng tôi có nghĩa là không tôn trọng người dùng trên SO đã cung cấp trợ giúp của họ. Tôi chỉ đang phát sóng một mối quan tâm.

Tôi muốn sửa lỗi của mình nhưng không có gì đảm bảo rằng người này sẽ có thể sửa nó.

Tôi có nên phát hành toàn bộ mã nguồn và hy vọng điều tốt nhất? Hoặc giữ nó và cố gắng tự tìm ra nó?

Bạn sẽ làm gì?


3
Câu hỏi khó. Cũng hỏi.
yfeldblum

Câu trả lời:


44

Xây dựng một SSCCE (ví dụ ngắn, khép kín, chính xác). Nếu lỗi biến mất khi bạn xóa một số chi tiết bổ sung cho SSCCE, thì bạn đã tìm thấy nó.

Nếu không, bạn sẽ có một SSCCE mà bạn cung cấp hoặc đăng một cách lý tưởng để loại bỏ mã mà bạn quan tâm về việc chia sẻ.


1
Đối với những người không quen thuộc với "SSCCE": acronymfinder.com/SSCCE.html (bỏ qua định nghĩa đầu tiên của "Ung thư biểu mô tế bào vảy bề ngoài của thực quản"). Aha, đã tìm thấy liên kết tốt hơn: sscce.org
FrustratedWithFormsDesigner

SSCCE là gì? EDIT: Chỉ cần dán nó trong câu trả lời của bạn. :)
jprete

7
Xây dựng repro nhỏ nhất có thể là rất tốt vì nhiều lý do, không chỉ bạn không cho đi mã của mình mà còn có thể tìm thấy lỗi trong quá trình phát triển một ví dụ.
Steve

3
Và SSCCE tăng gấp đôi như một bài kiểm tra hồi quy, đảm bảo bạn sẽ không bao giờ gặp phải lỗi đó nữa. Ngoài ra, thường thì bạn có thể xây dựng quy tắc cho một công cụ phân tích tĩnh từ SSCCE, do đó cũng đảm bảo rằng bạn không chỉ gặp lỗi đó mà không bao giờ gặp lại lỗi tương tự .
Jörg W Mittag

9

Tôi sẽ không làm điều đó, đặc biệt nếu bạn đang làm việc cho người khác, những người có khả năng sẽ không đánh giá cao bạn trao mã nguồn của đối thủ tiềm năng.

Nhưng ngay cả khi đó là mã của riêng bạn, nó vẫn bỏ lỡ điểm Stack Overflow, đó là có một chỉ mục câu hỏi và câu trả lời cho mọi người đọc và sử dụng. Vì vậy, bạn đăng đủ để đặt câu hỏi của bạn, mọi người trả lời câu hỏi như đã đăng và độc giả tương lai có một câu hỏi và câu trả lời được đóng gói tốt trước mặt họ.

Nếu bạn không thể đăng một cách hợp lý đủ để hiểu lỗi, thì bạn nên thử và tái tạo lỗi trong một đoạn mã nhỏ nhất có thể và đăng nó. ( EDIT: Khái niệm ví dụ có thể tự giải quyết ngắn được đề cập bởi jzd.) Không đăng số lượng lớn mã nguồn và không chỉ đơn giản trao số lượng lớn ứng dụng của bạn cho toàn bộ người lạ trên internet.


2

Nếu đó là mã mà bạn dự định phát hành như một phần của dự án nguồn mở, thì tôi sẽ không lo lắng quá nhiều. Mặt khác, nếu đây là mã bạn làm việc tại nơi làm việc của bạn và nó chứa các ý tưởng độc quyền thuộc về người khác, thì đừng phát hành nó cho bất kỳ ai. Nó có thể khiến bạn gặp nhiều rắc rối.

Sử dụng phán đoán tốt nhất của bạn!


1

Nếu đó là mã của dự án cá nhân của bạn và nó không phải là mã thương mại, bạn không gặp vấn đề gì trong việc cung cấp nguồn của mình miễn là bạn đang duy trì một bản sao của nó (tốt hơn trong một số hệ thống kiểm soát phiên bản mã nguồn).


0

Hãy rời rạc

Nó vô tội. Bạn muốn đăng một số mã và có sự giúp đỡ của cộng đồng SO. Vấn đề là mọi người luôn theo dõi.

Tôi đã viết lên để đăng một kịch bản. Nó xảy ra.

Đăng ở nhà hoặc trong một quán cà phê. Đăng bài rời rạc. Bạn sẽ có thể ghi chép và mang nó vào mà không gặp rắc rối.

Lưu ý: Tôi hơi bực mình vì tôi đã ngây thơ như thế nào. Hãy thông minh!


Tôi nghĩ rằng từ bạn đang tìm kiếm là "kín đáo", có lẽ bạn đã dành quá nhiều thời gian để lập trình! :)
An thần người ngoài hành tinh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.