2011-10-21 52 views

回答

0

您可以創建一個名爲old/yourpackage的包,如果有人依賴於已棄用的功能/接口,並在沒有舊東西的情況下創建更新包yourpackage,則建議使用該包。

無法插入警告或標記方法,因爲它們可能以不同於文檔中的方式使用。

1

在Go編譯器中沒有這方面的支持(在5g/6g/8g和gccgo中都沒有)。

據我所知,目前還沒有代碼檢查工具。

唯一的方法是將棄用警告置於文檔中,或者直接刪除代碼。

+0

如何插入警告的方法呢?他們總是可以使用已棄用的方法? –

0

你也可以打印一行到stdout/stderr,說「這個方法已被棄用!」每次調用已棄用的方法時。您還可以提供關於用戶如何改正這一點的提示。

+1

請不要將任何內容直接打印到庫中的stderr或stdout中,以用於*任何*原因。而棄用註釋只屬於庫中,否則可以簡單地刪除代碼。 –

2

Go編譯器不會報告警告,只會報告阻止編譯 的錯誤。

Go FAQ

20

Godoc: documenting Go code說,這大約爲廢棄的標記代碼:

要通知該標識符不應該使用,添加段落到開頭文檔註釋「已過時」隨後是關於棄用的一些信息。

有一個golint issue for reporting use of deprecated identifiersgodoc issue通過或隱藏不贊成使用的標識符。

staticcheck工具報告使用不推薦使用的標識符(請參閱SA1019)。

+0

這是正確的做法,應標記爲答案。從Go 1.6開始,您可以使用帶有jpeg/Reader的模式查看Go團隊:https://golang.org/src/image/jpeg/reader.go?s = 2840:2891#L83稍後,分析工具例如'godoc'和'golint'可以被更新來檢測這個,就像它處理'Bug'文檔定義一樣:https://godoc.org/golang.org/x/tools/cmd/godoc(參見' -notes'選項)。 BUGS和TODO通常不會出現在文檔中,除非您通過該標誌和選項。 – eduncan911

+0

這些天'staticcheck'存在,並將執行此檢查,因爲'SA1019' –

相關問題