メソッド/関数について
1つの関数につき1つの仕事
メソッドの分類
基本的には1つのメソッドにつき1つの機能とする。
簡単な名前がつけられないものは要注意。
結果的に多機能なものより単機能のものほうが、再利用しやすい。
×
void playWholeSongAndStop(Music song)
{play}
〇
void play(Music song)
{}
void stop(Music song)
{}
上記の例のように細かく分かれているほうが用途に合わせてカスタマイズしやすい。
×の例では、2倍速で再生する。途中まで再生する。などの機能を追加実装しくい。
メソッドの分類
大きく2つに分類にされる。
1・計算やアルゴリズムをするもの。
2・複数のメソッドを組み合わせて大きな仕事をするメソッド。
大きなメソッドを正しく実装することは難しい・・
小さなメソッドを正しく実装することは容易。
大きな仕事をする複雑なメソッドは、小さな仕事をするメソッドに分割して書くとコードの保守性が高まるとされている。
メソッド化するべきコード
基本-> 重複する部分はメソッド化
・条件式のメソッド化
・計算式のメソッド化
・条件分岐のブロック内のメソッド化
・ループのメソッド化
・ループのブロック内のメソッド化
・データ変換のメソッド化
・データ確認のメソッド化
・配列アクセスのメソッド化
・コメント部分のメソッド化
各々の詳細は下記引用元書籍を参照してください。
関数の書き方・分け方,https://prettysoft.hatenablog.com/entry/20101118/1439990878
大圖 衛玄,2015,ゲームプログラマのためのコーディング技術,技術評論社
本記事は上記リンク及び書籍を引用しています。
用語及び一部コードをJavaで使われるものに変えています。