行数にボリュームが出ると、あれ?プライベートは・・・と探すことが多いです。(私だけ?)
クラス(モジュール)の中に何箇所もprivate
を使っていて、ハマったことが過去にあります。
class Company
# パブリックメソッドがたくさん
# ...
# ...
# ...
private
# よくよく見ずにprivateをつけたりしてアクセサが全滅・・・
def this_is_private_method
end
# ...
# ...
# ...
attr_accessor :name
private
# プライベートメソッドがたくさん
end
company = Company.new
company.name = "Hoge Co.,Ltd." #=> NoMethodError!!
ベストプラクティスだとは思っていませんが、私がよくやるのは
privateのあとにコメントをつけてなるだけ目立つようにしています。
これだと、重複してprivate
を使うことも少なくなるかなと
class Hoge
# パブリックメソッドゾーン
private #---------------なるだけ目立つ仕切りを作る-------------------#
# プライベートメソッドゾーン
end
あと、Ruby2.X系からdef
がシンボルを返すようになったので1つずつ指定してあげるのもよいかもしれませんね。
class Hoge
private def sample; end
end
hoge = Hoge.new
hoge.sample #=> NoMethodError!!