fix(import): Task 5 code-review — final-класс CsvLeadsParser + self::EXPECTED_COLUMNS
Code-review Task 5 (non-blocking 🟡): CsvLeadsParser объявлен final (симметрия с DTO ParsedLeadRow/CsvParseResult, утилитарный класс без наследования); строка ошибки про число колонок использует self::EXPECTED_COLUMNS вместо литерала 9. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,7 @@ use Throwable;
|
||||
* Невалидные строки не роняют парсинг — собираются в errors[].
|
||||
* Файл целиком загружается в память (MVP: ожидаемый объём — единицы тысяч строк).
|
||||
*/
|
||||
class CsvLeadsParser
|
||||
final class CsvLeadsParser
|
||||
{
|
||||
private const EXPECTED_COLUMNS = 9;
|
||||
|
||||
@@ -45,7 +45,7 @@ class CsvLeadsParser
|
||||
$cells = str_getcsv($rawLine);
|
||||
|
||||
if (count($cells) < self::EXPECTED_COLUMNS) {
|
||||
$errors[] = ['line' => $dataLine, 'message' => 'Ожидалось 9 колонок, получено '.count($cells)];
|
||||
$errors[] = ['line' => $dataLine, 'message' => 'Ожидалось '.self::EXPECTED_COLUMNS.' колонок, получено '.count($cells)];
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user