RSS

 

RSS


プ:「原本を持つ」法

  • いわいまさか
  • at 2008/5/10 10:41:20

 「原本を持つ」法

 プログラミングのひとつの方針。コネタ。みなさんのどこかの場面でお役に立てれば。

 

 「情報はできるだけ元のまま、もっておいた方がいい」という話。

 

例:30カウントでアニメ表示を止めるというような場合

①これでもできるけど・・・

sturuct
{
  m_cntdown;
   ******
};

 アニメの表示始めで

m_cntdown=30

と設定し、毎回のループで

m_cntdown<=0 や m_cntdown<0 の判定でアニメの表示をやめる。

/////

②原本を持つ方法

sturuct
{
    m_lifetime;
    m_startcnt;
};

m_lifetime=30; と初期化で設定。

アニメをスタートしたときのマスターカウントを記録しておく
m_starcnt=GetMasterCount();

そして、
GetMasterCount()とm_lifetime+m_startcntを比較して、 しかるべきタイミングでアニメ表示を止める。

/////

①の場合は、「あと9カウントあるけど、どんだけいままで表示してるんだっけ?」がよーく考えないとわからない。上のソースだけ見ているとわかるように思うが実際にコードはいろんなところに散るので。

②の場合は原本のm_lifetime=30を持っているため、デバッグ時にストラクチャの中の値とマスターカウントを見れば「全30カウント中の今21カウント目なんだ」とわかる。

②に比べて①は不親切あるいは脆弱といえる。

/////

 いいかえると、元々の性質・諸元表と、実行時の表現・変数は別に持てよということ。

/////

 ※この方針は時にメモリの量や実行スピードとはトレードオフ状態になるときがあるのでその点は注意。


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