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

回答編集履歴

1

最後に同名以外の手法を紹介する意図を示した

2017/11/18 09:58

投稿

LLman
LLman

スコア5592

answer CHANGED
@@ -1,6 +1,9 @@
1
1
  他回答者の方がもう色々な方法を提示されたので、
2
2
  私は選択肢の**使い分け**の目安を示したいと思います。
3
3
 
4
+
5
+ ---
6
+
4
7
  ご質問のサンプルコードのように、
5
8
  増えていく引数の**型**が同じで、処理も同じ、単調な変化の場合は、
6
9
  配列を引数に取ってループの回数を変えるのが一番シンプルです。
@@ -18,7 +21,12 @@
18
21
  別オブジェクトに分けた方が整理しやすいのです。
19
22
  とくにIF文がネストするような複雑な場合に威力を発揮します。
20
23
 
24
+
25
+ ---
26
+
21
27
  なお、方向性は違いますが、引数のパターンが単調な場合、
22
28
  とくに内部のIF文を分けるためのフラグとして引数を使っている場合、
23
29
  高階関数と部分適用で分ける関数型的な手法も有力です。
30
+
24
- この場合、名前を増やす代わりに、引数を減らして整理します。
31
+ この場合、名前を増やす代わりに、引数を減らして整理します。
32
+ 同名はひとつの手段で、目的はコードの整理だと思うので、選択肢のひとつです。