teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2016/04/05 11:56

投稿

unau
unau

スコア2468

answer CHANGED
@@ -2,4 +2,6 @@
2
2
  それはさておき、ポリモーフィズム自体が特異点を除去し、NUllObjectパターンなどの各種デザインパターンが特異点を除去し、オブジェクト指向以前からある特異点除去方法としてはテーブル化 (連想配列を使うといいよ、と他の回答にあるようなもの) や番兵なんかがあるわけです。
3
3
  特異点がなくなると見通しがよくなり、潜在的なバグも減りますが、特異時の処理が隠れてしまい、一般的に抽象度が高まるので、慣れていないと逆に理解しにくくなってしまう懸念があります。
4
4
 
5
- if や switch が少ないから読みやすい、というのは必ずしも真ではありませんが、読みづらい≈潜在的なバグの温床になっている≈メンテする気になれない、ようなコードは無駄に if や switch が多い、というのは(経験的に)真です。
5
+ if や switch が少ないから読みやすい、というのは必ずしも真ではありませんが、読みづらい≈潜在的なバグの温床になっている≈メンテする気になれない、ようなコードは無駄に if や switch が多い、というのは(経験的に)真です。
6
+
7
+ あ、あと、たくさんコードを「読んで」、それなりにコードを書いていると、これは駄目だろうという if 文と、これは問題ないだろうという if 文の違いが感覚的にわかるようになってきます。