コマンドとクエリの分離は、「すべてのメソッドは、アクションを実行するコマンドか、呼び出し元にデータを返すクエリのいずれかである必要があるが、両方であってはならないことを示しています。つまり、質問をしても答えが変わるべきではありません。」
a = [1, 2, 3]
last = a.pop
ここで、Ruby では、pop
コマンドは項目が配列からポップされて返されます。
これは 1 つのメソッド内のコマンドとクエリの例であり、そうする必要があるようです。
この場合、本質的にコマンドであると同時にクエリでもあるメソッドを持つことは、本当にコードの匂いでしょうか?