Bạn có thể đặt liên kết đến các trang web Hỏi & Đáp trong nhận xét của chương trình không?


16

Trong một số cơ sở mã, bạn có thể thấy các bình luận nêu rõ những điều như:

 // Workaround for defect 'xxx', (See bug 1434594 on Sun's bugparade)

Vì vậy, tôi đã có một vài câu hỏi, nhưng tất cả chúng đều liên quan.

Bạn có thể đặt liên kết đến các câu hỏi SO trong bình luận của chương trình không:

 // We're now mapping from the "sorted-on column" to original indices.
 //
 // There's apparently no easy way to do this in Java, so we're
 // re-inventing a wheel.
 //
 // (see why here, in SO question: http://stackoverflow.com/questions/951848)

Bạn làm điều đó?

Và những nhược điểm khi làm như vậy là gì? (xem bình luận đầu tiên của tôi cho một nhược điểm khủng khiếp)


9
cho ý kiến để bản thân mình: một rất liên quan đến nhược điểm khi thực hiện đó là do thực tế rằng SO là một Wiki có chính xác không đảm bảo rằng các câu trả lời (s) bạn dựa vào vẫn sẽ được chính xác (hoặc thậm chí vẫn có mặt ở đó). Heck, trong một số trường hợp, câu hỏi có thể được đóng lại hoặc thay đổi từ ý nghĩa ban đầu của nó. Sự khác biệt lớn giữa "Xem lỗi 1434594" trong cuộc diễu hành lỗi của Sun là bạn được đảm bảo rằng văn bản từ liên kết lỗi của Sun sẽ không ( "sẽ không" như được định nghĩa bởi RFC2119). Điều này là rất lớn: thực tế là SO là một wiki khiến tôi lo lắng khi đưa các liên kết SO vào bình luận.
Tristan

7
Đặt cược tốt nhất của bạn là đặt một bản tóm tắt rõ ràng và súc tích về câu trả lời SO, và sau đó đặt liên kết tham chiếu bên dưới đó. Tôi đã làm điều đó nhiều lần. Theo cách đó, nếu SO từng đi theo hoặc câu trả lời bị xóa / chỉnh sửa, thông tin cốt lõi bạn muốn vẫn nằm trong bản tóm tắt của bạn. Bây giờ, tùy thuộc vào độ phức tạp của câu trả lời, viết tóm tắt có thể là một việc vặt hoàn toàn riêng biệt. Nếu câu trả lời SO liên kết với một cái gì đó khác, có thể đáng để liên kết với những người đó (đặc biệt nếu chúng ít phù hợp hơn câu trả lời SO).
Thất vọngWithFormsDesigner

5
@Robert S.: Không, nó không phải là một meta. Đó không phải là về SO: Tôi chấp nhận SO theo cách của nó. Đây là cụ thể về cách xử lý tài nguyên giống như SO từ một bình luận.
Tristan St.

1
Bạn đang nói về mã mà bạn viết cho nhóm của bạn? Hỏi họ.

1
Bạn luôn có thể lưu toàn bộ trang web dưới dạng một trang web hoàn chỉnh, nén và đặt nó vào thư mục tài liệu của bạn.

Câu trả lời:


7

Tôi đã thực hiện nó, có thể không đặc biệt cho Stack Overflow, nhưng đối với các blog kỹ thuật, diễn đàn, Usenet, Google Groups hoặc bất kỳ nơi nào khác mà "tại sao tôi làm điều này" có thể không hoàn toàn rõ ràng từ ngữ cảnh.

Tôi không hiểu tại sao sử dụng SO như thế này sẽ là một điều xấu, trừ khi họ lưu trữ và xóa bỏ những câu hỏi cũ (mà tôi không nghĩ là họ làm, nhưng tôi không chắc chắn) - nhưng ngay cả khi họ làm vậy, thì không tồi tệ hơn bất kỳ trang web nào khác.

Nếu bạn thực sự lo lắng về điều đó, bạn luôn có thể chụp ảnh màn hình hoặc tải xuống các trang này dưới dạng văn bản (hoặc gặp rắc rối khi lấy hình ảnh, bảng định kiểu, v.v.) và lưu chúng vào kho lưu trữ kiến ​​thức tại công ty của bạn, đính kèm định danh duy nhất cho nó và đưa định danh duy nhất đó vào bình luận của bạn để cho phép bạn tham khảo sau - sau đó bạn sẽ có một vị trí nhất quán cho loại điều này. Nhưng đó có thể là quá mức cần thiết, tùy thuộc vào mức độ phức tạp và tầm quan trọng của mã của bạn.


5

Nói chung, cách tốt nhất để tạo liên kết này là thông qua hệ thống phiên bản và / hoặc hệ thống theo dõi lỗi. Yêu cầu để làm việc này là bạn có thể liên kết chính xác mã của mình với trình theo dõi lỗi hoặc địa điểm trong hệ thống phiên bản nơi bạn đặt nhận xét của mình.


điều đó thật thú vị: vì vậy bạn thực sự đề xuất rằng trong trường hợp câu trả lời SO tôi có thể tìm nạp HTML và lưu trữ nó trong DVCS của mình (Mercurial nhưng đó không phải là vấn đề)?
Tristan St.

Chà, bình thường bạn không cần toàn bộ, chỉ là các bit có liên quan phải không? Và bạn có thể tham khảo các nguồn.

5

Lý tưởng nhất là mã của bạn không cần những bình luận như vậy bởi vì nó có cấu trúc tốt, v.v. Nhưng đúng vậy, khi tình huống của bạn không lý tưởng, bạn có thể chấp nhận đưa vào những bình luận như thế này. Và các liên kết đến stackoverflow.com cũng tốt (và thường tốt hơn!) So với các liên kết khác.

Hy vọng họ là những bình luận tạm thời và bạn sẽ được phép quay lại và cải thiện mã và loại bỏ những bình luận này .

Tôi chưa đặt liên kết StackOverflow.com trong mã của mình. Tôi cố gắng tránh đặt các liên kết vào mã, vì nó có mùi khó chịu, nhưng khi đến lúc tôi sẽ không ngần ngại.

Chỉnh sửa : Tôi nghĩ rằng câu trả lời trên của tôi mang lại ấn tượng rằng sự cần thiết phải bình luận như thế này là có thể tránh được. Tất nhiên đôi khi điều đó không thể tránh khỏi; đó là một lỗi trong thư viện hoặc thiết kế API kém mà bạn không kiểm soát được. Nhận xét như thế này, bao gồm các liên kết, rất hữu ích cho nhà phát triển tiếp theo.


2
này, nhìn vào cái đó, tôi ước sẽ có cách "sạch" hơn để xử lý nó, nhưng thường thì đó không phải là trường hợp stackoverflow.com/questions/951848 Ý tôi là, lỗi và sự không nhất quán / API lạ, hành vi không có giấy tờ, v.v. là một phần của cuộc đời lập trình viên của chúng tôi :)
Tristan St.

2

Tôi xem nó như viết một bài nghiên cứu. Nếu tôi sử dụng ý tưởng của người khác, thì tôi cần phải công nhận những ý tưởng đó. Tôi đã sử dụng một câu trả lời từ stackoverflow trong mã của mình trước đây và tôi đã thêm liên kết vào các bình luận của phương thức.

Như ai đó đã đề cập, SO là một phong cách wiki, vì vậy có thể nó có thể thay đổi, nhưng nhìn chung ý tưởng vẫn nên như vậy.

Bạn vẫn nên cung cấp tín dụng cho người khác khi bạn sử dụng ý tưởng của họ.


1

Nếu bạn cần thực hiện một công việc xung quanh và không rõ lý do tại sao việc thực hiện được thực hiện theo một cách cụ thể, thì một bình luận thực sự nên được xác định lý do tại sao. Tôi nghĩ rằng việc đặt một liên kết đến một tài liệu tham khảo trực tuyến là tốt, nhưng bạn thực sự cần phải đưa ra nhận xét của mình ngắn gọn, nhưng đủ đầy đủ để liên kết sẽ chỉ cung cấp một lời giải thích mở rộng nếu người đọc cảm thấy cần phải kiểm tra lại lý lẽ của bạn.

Mặt khác, mã đã được sao chép nguyên văn, thì một liên kết đến nguồn ban đầu chỉ là công bằng và có thể được yêu cầu tùy thuộc vào cách diễn đạt của giấy phép mà bạn đã được phép sao chép tác phẩm gốc của tác giả.

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.