C等でプログラミングするとき、関数名は適切なものをつけるのがよい。当然のことなのだが、実例で説明。
自分が昔書いたソース。
描画するクラスのprivateの関数群がこんな感じのラインナップ
class 描画 {
//省略
void Draw_L0_00(cons
void Draw_L0_01(cons
void Draw_L1_07(cons
void Draw_L3_02(cons
void Draw_L3_03(cons
void Draw_L3_04(cons
void Draw_L3_05(cons
void Draw_L3_06(cons
void Draw_L2_08(cons
void Draw_L2_09(cons
void Draw_L2_10(cons
void Draw_L3_11(cons
void Draw_L4_12(cons
//省略
};
「描画を順番にやっていくにあたり、番号で管理するのがいいかな」とその時は思っていた。この方法もそれはそれで少しはみどころがあるのだが。
最近、このソースを発掘してきていじってるわけだが、どうも、扱いにくい。「あれ、ゲームオーバーを書いてるのはどこだっけ」みたいな。
で、整理しながら、何をしているかを基準に関数をつけなおしてみた。
class 描画
{
// 省略
// ドロー前の下処理 Pre
void PreFloor(const OMC_BAN_5xTxY *bans);
void PreWall();
// Draw
void DrawFloorWall()
void DrawSpriteGameo
void DrawSpriteHighs
void DrawSpriteNewre
void DrawSpriteLogo(
void DrawMenu() const ;
void DrawModename() const;
void DrawSpriteHighs
//省略
};
これだと、見通しがぐっとあがった。細かく分類すると2種類の関数群に別けられることがわかった。
Pre***関数
自クラス内の変数・データに変更を加える、前処理。
Draw***関数
自分のクラスには変更は及ぼさない真に描画系。関数宣言のおしりにconstがつく。
ついでに、いつのまにか、扱いがあやふやになっていた引数が整理できて、大半の関数で不要であることがわかった。
/////
非常に些細な例で、しかも、マッチポンプ的?。 「最初から関数名をちゃんとつけてばいいじゃん」とツッコミが入れられるが・・・。
参考になればということで。