概要
レビュー指摘「マジック分岐」について
※Javaの話です
内容
自分が独自に定義した数値に意味を持たせて
自分にしか分からない分岐を作成すること。
サンプルコード
package review.ex3.magic_branch; public class MusicPlayer { enum MusicType { JPOP, BALLAD, OTHER }; public void incorrectPlay(int musicType) { // 数字1=JPOPという意味をもたせたのは製造した人にしか分からない独自ルール if (musicType == 1) { System.out.println("JPOPを再生中"); } else if (musicType == 7) { System.out.println("演歌を再生中"); } else { System.out.println("再生中"); } } public void play(MusicType musicType) { switch (musicType) { case JPOP: System.out.println("JPOPを再生中"); break; case BALLAD: System.out.println("演歌を再生中"); break; default: System.out.println("再生中"); break; } } public static class Music { String name = ""; public Music(String name) { this.name = name; } } public static void main(String[] args) { MusicPlayer musicPlayer = new MusicPlayer(); musicPlayer.play(MusicType.JPOP); musicPlayer.play(MusicType.BALLAD); musicPlayer.play(MusicType.OTHER); musicPlayer.incorrectPlay(1); musicPlayer.incorrectPlay(7); musicPlayer.incorrectPlay(2); } }
出力
JPOPを再生中 演歌を再生中 再生中 JPOPを再生中 演歌を再生中 再生中