1

以下のようなコードの使用法を特定するのは困難です。

[:create, :update, :pause].each { |action| send("to_#{action}") }

これがアンチパターンである他の理由はありますか?

4

2 に答える 2

5

アンチパターンではありません。それは言語の一部です。前述の理由から避けるべきですが、それが唯一の選択肢である場合もあります。パフォーマンスに関しては、重大な欠点はないと思います。OOP を維持する場合は、切り替えを提案する必要がありますpublic_send。これが推奨される方法です。

于 2016-06-06T02:38:48.950 に答える