RSS

 

RSS


プ:「変数宣言一旦止め」法

  • いわいまさか
  • at 2008/5/03 09:01:40

 プログラム中の不要なコードは削除するのがよろしい。

 整理整頓のコツ・基本は捨てること。参考:google(整理整頓 捨てる)。自分は苦手。

 プログラムのコードの整理も同じ手法が使える。部屋の整理整頓よりも、体力を使わないという意味では楽で、自分はこちらの方が得意。
 
 参考:google(不要なコードの削除)49,400

 つまり、不要なコードは消そうということ。このコンセプトさえわかれば、やり方はなんでもよいのだが。

 ここでは「変数宣言一旦止め」法を提示。

class DecordAndDisp
{
//  変数
   DispMng m_dispmng;
   int m_disptiming_cnt;
   int m_ushi_cnt;
   int m_uma_cnt;
   *******
// 関数
   *******
   *******
   *******
};

 こんなクラスがあったら、一旦変数宣言を全部コメントアウトしてみる。
class DecordAndDisp
{
//  変数
#if 0
   DispMng m_dispmng;
   int m_disptiming_cnt;
   int m_ushi_cnt;
   int m_uma_cnt;
   *******
#endif
// 関数
   *******
   *******
   *******
};
 そして、コンパイルする。宣言していない変数が関数内で使われている部分がエラーになる。エラーになったところをひとつずつ吟味していく。

 必要な変数は再登録していく。ひとつ、ふたつ、再登録したら、またコンパイル。これを繰り返す。

・全く使ってない変数は再登録されないので、自然に削除。
・使ってはいても不必要な変数は関数側から削除。
・場合によってはシンボルをふさわしいものにチェンジ。
・使っているけど、なんだか機能が明確でない変数・関数は構成見直し。

 上の例でいえば、
「m_dispmngは絶対必要だね」
「m_disptiming_cntは以前m_dispmngを導入する前に同様の機能をカウンタでやろうとしていた名残りだった。だから、値のゼロクリアとかカウントアップしてるけど、実際には要らない」
「m_ushicntは使っているけど、なんだっけこれ、もう少し整理できないか」
「m_umacntは全然使ってないので再登録しなかったねぇ」
「エラーが出なくなって整理完了。なんだけど、まてよ、部分的に既存のクラスHekeHekeMngが使えるんじゃないか?それも検討しよう」
・・・・・など。

 この方法を使えば、自動的または半自動的に整理していける。というか、まぁ、本当のところは人力なので、ある種、整理するキッカケ作りか。
      


  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://www.iwai-masaka.jp/tb.cgi/52120