Murayama blog.

AIの民主化。

2分でわかるオブジェクト指向プログラミング

ちょっと仕事の中で出てきたプログラムの話についてまとめます。
オブジェクト指向プログラミングとはこういうことだよ。という話。


たとえば、以下のようなプログラムがあるとします。Javaです。

		Member member = getMember();
		if (member.getPoint() >= 300 && member.getYearCount() >= 2) {
			// do something
		}

「300点以上、かつ、2年目以上の会員をゴールド会員として処理する」みたいなかんじかな。


見習いプログラマーは、

		// ゴールド会員の場合
		if (member.getPoint() >= 300 && member.getYearCount() >= 2) {
			// do something
		}

みたいなコメントでおしまい。


ちょっとかじったプログラマーは、

		if (isGoldMember(member)) {
			// do something
		}

みたいにメソッド化してくれる。メソッドで語るかんじかな。


で、オブジェクト指向好きなプログラマーは、

		if (member.isGoldMember()) {
			// do something
		}

MemberクラスにisGoldMember()メソッドを定義するかんじ。


さいごに、可読性についても考えてみる。
オブジェクト指向は可読性が高い、という。なぜか。
オブジェクト指向はS Vの順番になるから。主語、述語。

member.isGoldMember()


たぶん、英語のできない僕みたいな日本人でも分かりやすいはず。


おまけ。
「○年目」は英語でなんと表現しますか? - BIGLOBEなんでも相談室