クラスについて

クラスやメソッドの適切な分け方や構成について

バックエンドの役割って何だっけ?

Webシステムの場合、画面表示を扱うフロントエンドとデータを扱うバックエンドを分けているケースが大半だと思います。

サーバーやネットワークまで分けているかはシステムの規模やセキュリティ要件によって異なるでしょうが、少なくともクラスは分けているのではないかと思います。

しかし、フロントエンドとバックエンドの境目が曖昧なため、本来フロントエンドにあるべき処理がバックエンドに入っているケースが散見されます。

メソッドはブラックボックスな部品であるべき

中の実装を読まないと、使い方や用途が分からないメソッドにしばしば遭遇します。
本来は、中身を読まなくても使い方や用途が分かるのがメソッドのあるべき姿です。

例えるなら、リモコンのボタンやキーボードのキーだと考えてください。
中の仕組みを知らなくても、どのキーやボタンを押せば何が起こるか分かるはずです。

メンバー変数は「共用変数」ではない

メンバー変数をメソッド間の値の受け渡しに使用しているケースを見かけますが、あまり良くないやり方です。

おそらく、メンバー変数のことを、「クラス内のどのメソッドからでも参照できる変数」と解釈しているのだと思います。
しかし、それは結果としてそのような使い方もできるだけであって、本来の用途とは異なります。