1. ホーム
  2. ruby

[解決済み] Rubyで非推奨のコードをマークするためのベストプラクティス?

2022-06-02 05:19:04

質問

あるメソッドを非推奨とマークして、それを使っている人たちが簡単に自分のコードをチェックして追いつけるようにしたいのですが。Java では、@Deprecated を設定し、これが何を意味するかは誰もが知っています。

では、Rubyで非推奨をマークしてチェックするための好ましい方法(あるいはツール)はあるのでしょうか?

どのように解決するのですか?

ほとんどすべての場合において、非推奨のためにライブラリやメタプログラミングに依存することは過剰なことです。 ただ、RDOCにコメントを追加し、そのコメントを元に Kernel#warn メソッドを呼び出すだけです。 例えば

class Foo
  # <b>DEPRECATED:</b> Please use <tt>useful</tt> instead.
  def useless
    warn "[DEPRECATION] `useless` is deprecated.  Please use `useful` instead."
    useful
  end

  def useful
    # ...
  end
end


もし、あなたが ヤード の代わりに rdoc に変更すると、docのコメントはこのようになります。

# @deprecated Please use {#useful} instead

最後に、もしあなたが トムドック を遵守する場合は、コメントをこのようにします。

# Deprecated: Please use `useful` instead

非推奨。そのメソッドが非推奨であり、将来のバージョンで削除されることを示します。Publicであったが、次のメジャーバージョンで削除されるメソッドをドキュメント化するために、これを使用すべきです(SHOULD)。


また は、将来的に非推奨のメソッドを削除することを忘れないでください(そして、適切に センバツ 'd) のリリースで非推奨のメソッドを削除することを忘れないでください。 . Javaライブラリと同じ轍を踏まないようにしましょう。