Trong phần Tìm, bạn đánh dấu mã như thế nào khi không dùng nữa để người dùng nhận được cảnh báo khi sử dụng?Làm thế nào để bạn đánh dấu mã là không được chấp nhận trong Go?
Trả lời
Bạn có thể tạo gói có tên old/yourpackage
và tư vấn sử dụng gói nếu ai đó dựa vào chức năng/giao diện không dùng nữa và sau đó tạo gói cập nhật yourpackage
mà không có nội dung cũ.
Không có cách nào để chèn cảnh báo hoặc phương pháp đánh dấu là không được chấp nhận theo cách khác ngoài có thể trong tài liệu.
Không có hỗ trợ cho điều này trong trình biên dịch Go (không phải trong 5g/6g/8g cũng không phải trong gccgo).
Theo như tôi biết, hiện tại không có công cụ kiểm tra mã cho việc này.
Cách duy nhất là đặt cảnh báo không dùng nữa trong tài liệu hoặc chỉ cần xóa mã.
Bạn cũng có thể in một dòng tới stdout/stderr nói "Phương pháp này không còn được dùng nữa!" mỗi lần một phương pháp không được chấp nhận được gọi. Bạn cũng có thể bao gồm một gợi ý về cách người dùng nên sửa lỗi này.
Vui lòng không bao giờ in bất kỳ thứ gì trực tiếp vào stderr hoặc stdout từ thư viện vì lý do * any *. Và các chú thích không dùng nữa chỉ thuộc về các thư viện, bởi vì nếu không thì chú thích đơn giản có thể xóa mã. –
trình biên dịch Go không báo cáo cảnh báo, chỉ các lỗi ngăn chặn biên dịch .
Godoc: documenting Go code nói này về đánh dấu mã như bị phản đối:
Để báo hiệu rằng một định danh không nên dùng, thêm một đoạn để bình luận doc của nó bắt đầu bằng "được tán thành:" theo sau là một số thông tin về việc không dùng nữa.
Có một số golint issue for reporting use of deprecated identifiers và godoc issue để đánh dấu hoặc ẩn số nhận dạng không dùng nữa.
Báo cáo công cụ staticcheck sử dụng số nhận dạng không được dùng nữa (xem SA1019).
Đây là cách làm đúng và cần được đánh dấu là câu trả lời. Bạn có thể thấy nhóm Go sử dụng mẫu này với 'jpeg/Reader' như của Go 1.6: https://golang.org/src/image/jpeg/reader.go?s=2840:2891#L83 Sau đó, các công cụ phân tích chẳng hạn như 'godoc' và' golint' có thể được cập nhật để phát hiện điều này giống như định nghĩa của 'Bug' doc: https://godoc.org/golang.org/x/tools/cmd/godoc (xem phần' ' tùy chọn -notes'). BUGS và TODO thường không hiển thị trong tài liệu, trừ khi bạn vượt qua cờ và tùy chọn đó. – eduncan911
Những ngày này 'staticcheck' tồn tại và sẽ thực hiện kiểm tra này, như' SA1019' –
- 1. Cách đánh dấu một lớp là Không được chấp nhận?
- 2. Làm thế nào để đánh dấu một cái gì đó trong Qt là lỗi thời (không được chấp nhận)?
- 3. Làm thế nào để thoát sprintf()% đánh dấu để chúng không được công nhận là biến?
- 4. Làm cách nào để khai báo hoặc đánh dấu một phương thức Java là không được chấp nhận?
- 5. Tôi có thể đánh dấu một chức năng không được chấp nhận trong Scala không?
- 6. Làm thế nào để bạn nhận được đầu ra của một lệnh hệ thống trong Go?
- 7. Trong VB.NET, tôi có thể đánh dấu một hàm không được chấp nhận?
- 8. Làm cách nào để bạn nhận được dấu gạch dưới kép để hiển thị trong đánh dấu?
- 9. Tôi làm cách nào để đánh dấu thuộc tính là không được dùng trong delphi?
- 10. Làm thế nào để bạn 'đánh dấu là đã đọc' bằng cách sử dụng Pop3?
- 11. Làm thế nào để nhận được các đánh giá/lời khuyên mã không thiên vị?
- 12. Bạn đánh giá mã như thế nào?
- 13. Làm cách nào để bạn đánh dấu một mẫu cấu trúc là bạn?
- 14. Làm cách nào để đánh dấu đoạn mã trong Headerdoc?
- 15. Không được chấp nhận: Chức năng tách() không được chấp nhận. Làm thế nào để sửa lỗi này?
- 16. Làm thế nào tôi có thể đánh dấu một tham số cụ thể là lỗi thời/không được chấp nhận trong C#?
- 17. Lỗi - không được đánh dấu là serializable
- 18. Làm cách nào để thay thế set_magic_quotes_runtime không được chấp nhận trong php?
- 19. Làm thế nào để bạn lập trình đánh dấu một ngày trong lịch TDateTimePicker của Delphi?
- 20. Có cách nào để 'đánh dấu' mã không?
- 21. EStackOverflow không được chấp nhận trong bao lâu và thay thế nó là gì?
- 22. Làm thế nào để bạn nhận được giá trị tiếp theo trong chuỗi dấu chấm động?
- 23. Làm thế nào để bạn chấp nhận tập tin tải lên trong noir
- 24. Hibernate - AnnotationConfiguration không được chấp nhận
- 25. Tại sao java.io.Serializable không được chấp nhận trong Java 5?
- 26. initWithContentsOfFile Không được chấp nhận
- 27. RKResponseDescriptor trong RESTKit không được chấp nhận
- 28. Làm thế nào để 'nhận được' hộp kết hợp WPF PART_EditableTextbox vì combobox không được đánh dấu?
- 29. Làm thế nào để bạn dán với vim mà không cần mã được nhận xét?
- 30. Làm thế nào để loại bỏ các trường không được chấp nhận trong Mongo?
Làm cách nào để chèn cảnh báo? Họ luôn luôn có thể đi trong các phương pháp không được chấp nhận? –