回答編集履歴

2

修正

2018/07/19 05:27

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  private static String tailString(String param) {
58
58
 
59
- return tail(param, 5);
59
+ return tailString(param, 5);
60
60
 
61
61
  }
62
62
 

1

追記

2018/07/19 05:27

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -15,3 +15,49 @@
15
15
  return param.substring(paramLength - FIVE, paramLength);
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ ---
22
+
23
+ なお、**変数FIVEは必要ありません。**
24
+
25
+ 即値に意味のない名前を付けただけで、**むしろマジックナンバーよりも可読性が落ちかねません。**
26
+
27
+
28
+
29
+ 5文字という文字列長に意味があるのならそれに関する名前を付けるべきです。
30
+
31
+ そうでないなら引数として受け渡すようにすると良いでしょう。
32
+
33
+
34
+
35
+ デフォルト値を5にしたいならこんなふうに書けば良いです。
36
+
37
+ ```Java
38
+
39
+ private static String tailString(String param, int len) {
40
+
41
+ int paramLength= param.length();
42
+
43
+
44
+
45
+ if (paramLength <= len) {
46
+
47
+ return param;
48
+
49
+ } else {
50
+
51
+ return param.substring(paramLength - len, paramLength);//エラー行
52
+
53
+ }
54
+
55
+ }
56
+
57
+ private static String tailString(String param) {
58
+
59
+ return tail(param, 5);
60
+
61
+ }
62
+
63
+ ```