回答編集履歴
5
<style/>のインデント修正
answer
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
text-align: right;
|
67
67
|
padding: 4px 6px;
|
68
68
|
}
|
69
|
-
</style>
|
69
|
+
</style>
|
70
70
|
</head>
|
71
71
|
<body>
|
72
72
|
<table>
|
4
見出し修正
answer
CHANGED
@@ -237,7 +237,7 @@
|
|
237
237
|
}
|
238
238
|
```
|
239
239
|
|
240
|
-
####
|
240
|
+
#### note
|
241
241
|
こうした、コードの整理の事を**リファクタリング**と呼びますが、
|
242
242
|
ここで提示したコードは完全なリファクタリングを 10 と仮定した場合の 2 程度に相当します。
|
243
243
|
より高品質の**望ましいコード**は、最初期のコードの流れとは大きく異なってくるため、ここでは割愛し、本コードまでに留めました。
|
3
補足
answer
CHANGED
@@ -235,4 +235,9 @@
|
|
235
235
|
return $footer;
|
236
236
|
}
|
237
237
|
}
|
238
|
-
```
|
238
|
+
```
|
239
|
+
|
240
|
+
#### appendix
|
241
|
+
こうした、コードの整理の事を**リファクタリング**と呼びますが、
|
242
|
+
ここで提示したコードは完全なリファクタリングを 10 と仮定した場合の 2 程度に相当します。
|
243
|
+
より高品質の**望ましいコード**は、最初期のコードの流れとは大きく異なってくるため、ここでは割愛し、本コードまでに留めました。
|
2
値バリデーションの不備を修正するため、ステップ数を若干冗長化
answer
CHANGED
@@ -145,7 +145,7 @@
|
|
145
145
|
*/
|
146
146
|
private function validate(array $arr): bool
|
147
147
|
{
|
148
|
-
for ($i =
|
148
|
+
for ($i = 0; $i < $this->rows; $i++) {
|
149
149
|
$row = $arr[$this->row_keys[$i]];
|
150
150
|
$keys = array_keys($row);
|
151
151
|
if (count($keys) !== count($this->col_keys)) {
|
1
文言修正
answer
CHANGED
@@ -6,10 +6,10 @@
|
|
6
6
|
PHP 7 の新機能を含んでいるため、PHP 5 系では修正が必要です。
|
7
7
|
|
8
8
|
#### 設計
|
9
|
-
このコードでは、
|
9
|
+
このコードでは、logic と view を完全に分離しました。
|
10
|
-
index.php がメイン処理(Controller)
|
10
|
+
index.php がメイン処理(Controller相当)
|
11
|
-
Table.php が表の部品を管理するクラス(Model〈バリデーター内封型〉)
|
11
|
+
Table.php が表の部品を管理するクラス(Model相当〈バリデーター内封型〉)
|
12
|
-
View.php が描画を行う静的クラス(View)
|
12
|
+
View.php が描画を行う静的クラス(View相当)
|
13
13
|
となっています。
|
14
14
|
|
15
15
|
```PHP
|