最近の記事 過去の記事一覧
開発者ブログ
HOME » 開発者ブログ
2009年02月23日

ネストを減らす

受託開発担当のRyuです。

保守しやすいコードを書くことは重要なことです。

void function() {
	for (...) {
		if (条件) {
			[処理1]
			if (条件) {
				[処理2]
				if (条件) {
					[処理3]
				}
			}
		}
	}
}

これはネストが多く読み辛いコードだといえるでしょう。
このコードに後から修正を加えるのは大変です。

具体的には、コードの煩雑さを表すサイクロマティック複雑度という指標があります。
これはコードの条件分岐の多さと複雑さを示すものです。
これを下げることが保守しやすいコードへの第一歩となります。
ネストを減らすことでこの複雑度は下がります。

例えば上記のコードは、こんな感じでネストを減らすことができます。

void function() {
	for (...) {
		if (!条件) continue;
		[処理1]
		if (!条件) continue;
		[処理2]
		if (!条件) continue;
		[処理3]
	}
}

いわゆるガード句と呼ばれる形で条件に合わない場合、以降の処理を評価しません。
関数やガード句などを上手く使い、ネストの少ない保守性の高いコードを書くことを心がけたいです。

Permalink: http://www.hos.co.jp/blog/2009023/
Last modified: 2009 年 2 月 23 日 3:47 PM

※ 開発者ブログの内容は無保証です。製品のユーザサポート対象ではありません。ご了承ください。