私は非常に中程度の C のバックグラウンドを持っているため、C++ には少し慣れていないので、この質問が非常に初歩的であると思われる場合はご容赦ください。
私は現在、いくつかの C++ ソース コードを読んで変更するように与えられています。
ただし、コードは初心者にとって非常に醜いように見えますが、コードが優れた C++ プラクティスと見なされるかどうかはわかりません。
基本的に STORAGE というクラスは 1 つしかなく、すべての情報が公開されています。
class STORAGE
{
public:
STORAGE();
virtual ~STORAGE();
//DATA
int np,nn;
int istep;
int print_step;
//...and many more variables.
//METHODS
void eos(double rho, double e, double &p, double &cs);
void ThermalEnergy(double rho,double &e,double p);
void allocation();
void initialization();
void var_dt();
// and many more methods which return void,
};
これらのメソッドを呼び出すアルゴリズムを読んでいると、メソッド呼び出しの長いリストの中で、それぞれが STORAGE の多くのメンバー変数を変更し、多くのメソッドが同じ変数のセットを変更していることがわかります。メソッドの多くは、非常にイライラするタイプです。void A ()
このようなスタイルでは、多数のメンバー変数の変更を頭の中で追跡するのは非常に難しいようです。
私の質問: クラスを使用する場合、このスタイルのプログラミングは C++ に共通ですか? メソッドにクラスのすべてのメンバーへのアクセス権を与えることは少し危険に思えます。また、多くのバグのあるコードが発生する可能性があるようです。
関数呼び出しで変更される唯一の変数が関数への入力変数であることがわかっている場合、心理的には、コードを記述する方がはるかに簡単に見えます。