コマンドとクエリ分離原則と言う原則について調べてみました。
コマンドとクエリ分離原則とは
簡単に言うと、メソッドは 取得/更新 のどちらかだけを行うという原則です。
データの取得をする場合は更新を行わないしデータの更新をする場合は値を返さない。
そうする事でクエリは何回実行しても同じ結果を返すので堅牢性を高める事ができます。
とは言え例外もあり、popメソッド等は中身を更新しながら値を返します。
「コマンドとクエリ分離原則」の提唱者であるメイヤー先生はこの事については「このメソッドはできるだけ避けたほうがよいが、便利なイディオムである」と述べています。