見出し画像

アっという間にキレイになる クリーンコードの極意3パターン

皆さんソースコードを書く際に読みやすいソースコードを心がけていますか?猪突猛進でソースコードを書いているとあっという間にスパゲッティコードが完成します。今回はそんなスパゲッティコード化を防ぐクリーンコードの極意3パターンをご紹介します^^

■丁寧にif文で返却値(TRUE/FALSE)を設定することを止める

「if ~~だったら true、else だったら false」ザ・日本人って感じですよね。間違ってはいないんですが、実はこのパターンは条件文をリターンすれば良いのです。良い例、悪い例は下記の通りですので参考にしてください。

public static boolean badCode(int i) {
    // 悪い例
	if(i < 10) {
		return true;
	} else {
		return false;
	}
}


public static boolean goodCode(int i) {
    // 良い例
	return (i < 10);
}

■ネストを浅くしてさっさと返却する

if文にしてもfor文にしてもネストはできるだけ浅くします。浅くするだけで読みやすいコードになります。また、返却値についても確定した時点でさっさと呼び出し元に返しましょう。
ちなみに下記の「if(i < 100) return "買う";」のような書き方をガード節と言って、この書き方を覚えておくとネストを浅くしたり読みやすいコードを書くことができるようになりますので利用してみてください。

// 悪い例
public static String badCode(int i) {

	String ret = "";

	if(i < 1000) {
		if(i < 100) {
			ret = "買う";
		} else if(i < 500) {
			ret = "買うのをためらう";
		} else {
			ret = "買わない";
		}
	} else {
		ret = "買わない";
	}
	return ret;
}

// 良い例
public static String goodCode(int i) {

	if(i < 100) return "買う";
	if(i < 500) return "買うのをためらう";
	return "買わない";

}

■変数名を活用して一瞬で理解できるようにする

説明変数とか言われてる技ですが、例えば「60*60*24*365」のようなコードを見たとき何の計算をしているのか分かりませんが、この計算結果を右記の通り説明変数に入れてやります「long secondOfTheYear = 60*60*24*365;」こうするだけで一瞬で何の値なのかが理解できるようになりますよね^^

// 悪い例
System.out.println(60 * 60 * 24 * 365);

// 良い例
long secondOfTheYear = 60 * 60 * 24 * 365;
System.out.println(secondOfTheYear);

■まとめ

皆さん、どうでしたか?
そんなに難しいことは言っていなかったですよね。チョットした工夫で格段に読みやすいコードを書けるようになったかと思います^^

これからも「誰でも簡単にスグ実行できる」そんな記事を書いていきますので、どうぞこれからも応援よろしくお願いします!

ではまた(^_^)ノシ

記事を書く合間のコーヒー代、待ってます!(*´ー`*)