Rubyのリフレクション

rubyはリフレクションのAPIも充実してるのでリフレクション使いまくるソースが結構目立ちますね。

Javaだとこういうコードを書いてしまうとIDEの支援が得られず、さらに自動リファクタリングができなくなるのでナンセンスですが、LLではそもそもリファクタリングの支援を得られる環境がないので(一部の言語を除いて)、リフレクションを使って極力コードをDRYに書いたほうが、メンテナンス性があがるので理にかなっているだろうなとは思います。

ただ、あまりにリフレクション多用されて抽象化しすぎてしまうと、ソースを理解するのに最初少し苦労するのでバランスは必要だとは思うのですが、こういうコードも言語の特徴が生きていて面白いなぁと。