最近、仕事でとあるC++ソースコードを書き換える作業をしてるのだけど、これがまた何というか…。読みにくいにも程がある。
あるクラスで定義された変数を、ポインタを使って3つぐらいのクラスを経由させた後、始めてその値を使うとか、コンストラクタ使わない(コンストラクタの中が空)で初期化するためのInit関数を別に作ってる上に、値の初期化を呼び出したクラスの側で行うとか、関数に引数をまるで使わずに、メンバ変数に値を突っ込んだ後に関数を実行するとか。あと個人的には、関数の結果を戻り値として返さずに、参照渡しした変数に入れるのは、どれが結果として得られる値なのかがパッと分かりにくくて、どうにもどうも慣れない…。それからもう一つ個人的な事。ハンガリアン記法はどうにも読みにくくてやっぱり好きになれません。
一番困るのは一番最初に挙げた、変数をポインタでリレーすること。これが、一つ二つじゃなくて、いっぱいある。変数がどこで定義されてるのか非常に分かりにくいから、変数の意味を追いかけるだけで一苦労だし、もうソースの内容がさっぱり意味不明。クラス構造が明らかにおかしい。
いやね、自分はプログラムに関して大層な知識があるわけでもないし、割と新しめの人なのでJavaを一番よく扱ってた。だから、Javaの流儀が好きだし、C++の流儀を詳しく知ってるわけではない。一応、「C++ コーディング標準」には目を通しているけどね。
ただ、このソースが相当酷い事は何となく分かる。ホントもう、勘弁して欲しいです。これを書き換えて、リプレース用のコードを書けとかご無体な事言わないでください。一応まだ身分的には試用期間中なんですが。
家帰ってから、JavaやらC#やらの(自分にとっては)すっきりしたソースを見たら、何か惚れ惚れしてきたよ(笑)。
コメントを残す