回答編集履歴
3
修正
answer
CHANGED
@@ -7,7 +7,9 @@
|
|
7
7
|
|
8
8
|
|
9
9
|
```Java
|
10
|
+
// どのクラスに置くと分かり良いかは設計に依ります。
|
11
|
+
// 場合に依ってはColorThingに持たせても良いかも。
|
10
|
-
static ColorThing selectColorAction(double r, double g, double b) {
|
12
|
+
private static ColorThing selectColorAction(double r, double g, double b) {
|
11
13
|
if((0.2 <= r && r < 0.4) && (0.45 <= g) && (b < 0.2)) {
|
12
14
|
return ColorThing.yellow;
|
13
15
|
}
|
@@ -16,7 +18,7 @@
|
|
16
18
|
}
|
17
19
|
...
|
18
20
|
|
19
|
-
// 例外を投げるようにしても良いかもしれません
|
21
|
+
// 例外を投げるようにしても良いかもしれません。
|
20
22
|
return ColorThing.cantRead;
|
21
23
|
}
|
22
24
|
```
|
2
修正
answer
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
まずメソッドに切り出すだけでもかなり読み易くなるように思います。
|
2
2
|
後はこんな工夫ができそうです。
|
3
3
|
|
4
|
-
- 早期return
|
4
|
+
- 早期returnの活用 (elseの排除)
|
5
5
|
- 比較演算子の向きを揃える
|
6
|
-
- 冗長でも
|
6
|
+
- 冗長でも意味が分かり易くなるならば括弧を使う
|
7
7
|
|
8
8
|
|
9
9
|
```Java
|
@@ -16,6 +16,7 @@
|
|
16
16
|
}
|
17
17
|
...
|
18
18
|
|
19
|
+
// 例外を投げるようにしても良いかもしれません
|
19
20
|
return ColorThing.cantRead;
|
20
21
|
}
|
21
22
|
```
|
1
追記
answer
CHANGED
@@ -18,4 +18,10 @@
|
|
18
18
|
|
19
19
|
return ColorThing.cantRead;
|
20
20
|
}
|
21
|
+
```
|
22
|
+
|
23
|
+
```Java
|
24
|
+
colorOutput = selectColorAction(
|
25
|
+
detectedColor.red, detectedColor.green, detectedColor.blue
|
26
|
+
);
|
21
27
|
```
|