こんにちは、Shellです。
今日書きたいのは、プログラミングの初心者があまり知らないcontrol tableというプログラミングの技になります。上級者は、読まなくでもいいですね。
プログラミングの技なので、たくさんの文字ではなく、ソースコードを書きます。
では、ソースコードです。
※javascriptのコードですので、そのままコピーして、jsfiddleに貼り付けて試してください。
https://jsfiddle.net/
※これらの例はjavascriptですが、どの言語でも使える技です。
※例2にcontrol table配列の要素は文字列になりますが、クラスのインスタンスまたメソッドなどにした場合、普通の「if else」また「switch case」より、柔軟性が高いプログラムの書き方になれます。
例1:
//switch caseの例 function hello(condition) { switch (condition) { case "condition1": alert("result1"); break; case "condition2": alert("result2"); break; case "condition3": alert("result3"); break; case "condition4": alert("result4"); //break; } } hello("condition1");
例2:
// control tableを使う例 var controlTable = { "condition1": "result1" , "condition2": "result2" , "condition3": "result3" , "condition4": "result4" }; function helloWithControlTable(condition) { alert(controlTable[condition]); } helloWithControlTable("condition1");
いかがでしょうか。上記二つの例は、どちらの方が読みやすくで、メンテナンスしやすいですか。
パフォーマンスなどの面を心配している人がいるかもしれないですが、詳しくはwikipediaにすでに詳細に書いてあるので、時間があれば、ぜひ読んでくださいね:
https://en.wikipedia.org/wiki/Control_table