rubocop / rubocop-jp

A place for RuboCop discussions in Japanese
55 stars 2 forks source link

Add tests that examples in comments passes the cop's inspection or not. #37

Closed pocke closed 1 year ago

pocke commented 6 years ago

各Copはコメント内に良いコード例と悪いコード例を持っています。

https://github.com/bbatsov/rubocop/blob/fdb936a8408f7f2192f93bf5bc1978e38c314efe/lib/rubocop/cop/style/attr.rb#L8-L15

      # This cop checks for uses of Module#attr.
      #
      # @example
      #   # bad - creates a single attribute accessor (deprecated in Ruby 1.9)
      #   attr :something, true
      #   attr :one, :two, :three # behaves as attr_reader
      #
      #   # good
      #   attr_accessor :something
      #   attr_reader :one, :two, :three
      #

ところが、これらのコードが本当に「良い例」「悪い例」であるかは検査されていません。つまり、「良い例」と示されている例にRuboCopが警告を出さないこと、「悪い例」と示されている例にRuboCopが警告を出すことは保証されていません。

そのため、これらの例が本当に良い例、悪い例になっているかをテストしたいと思っています。

課題

ちょっと考えただけでこの実現はめんどくさそうなことがわかります。

koic commented 1 year ago

実現できたら素晴らしいのですが、実装と既存サンプル修正 (たぶん手作業になる) と実行コストを考えると、現状のコードレビューの方で良いかもしれません。 機械的に行えれば確実にミスの混入がなくなるのは確かに旨味なのですが、長年この提案についての動きがないことと、ドキュメント不備は良い例、悪い例に限らない気がするためクローズします。