День 20 — задания и контрольная точка 4
Здесь итог: всё, что сверит course check 20. Правила контрольной точки — на третьей странице; прочитайте их, прежде чем начинать. Список страниц:
course toc 20Ритуал перед коммитом
Четыре пункта, в контрольную точку не входят.
- Тесты — страница 3. Запускали
go test— в задаче 2. Готово, когда: пунктt_gotestзелёный. go vet— страница 3. Запускалиgo vetперед коммитом. Готово, когда: пунктt_vetзелёный.- Репозиторий — страница 3. В
~/gocourse/day20есть репозиторий, не меньше шести коммитов с изменениями в задачах (черновикscratchне в счёт) и нет незакоммиченных файлов задач. Готово, когда: пунктgitзелёный. - Словарик — страница 1. В
~/errors.mdминимум сорок строк вида «текст ошибки — что значило», через тире. Готово, когда: пунктerrorsзелёный.
Контрольная точка 4
Восемь задач, каждая — в своей папке ~/gocourse/day20/kt1 … kt8. Условие — в TASK.txt этой папки, у каждого стажёра свои числа. Порог — 6 из 8.
| № | Папка | Задача | Как сдаётся | Готово, когда |
|---|---|---|---|---|
| 1 | kt1 |
отчёт по orders.csv: итоги в map, битые строки в поток ошибок, код возврата |
main.go, прогон на своих файлах orders.csv: вывод, поток ошибок и код отдельно |
пункт kt1 зелёный |
| 2 | kt2 |
свой тест на parseLine |
parse_test.go, тест падает на шести подменах и проходит на другой записи той же логики |
пункт kt2 зелёный |
| 3 | kt3 |
починка: два рейса делят один массив | правка до двух строк, прогон по вводам | пункт kt3 зелёный |
| 4 | kt4 |
починка: nil-map и отсутствующий ключ | правка до трёх строк, прогон по вводам | пункт kt4 зелёный |
| 5 | kt5 |
прайс с выравниванием по буквам | main.go, прогон по вводам с русскими названиями |
пункт kt5 зелёный |
| 6 | kt6 |
таблица трассировки append и подсреза |
заполненный table.txt |
пункт kt6 зелёный |
| 7 | kt7 |
что лежит в stock: подсрез и append |
ответ командой course answer, см. ниже |
пункт kt7 зелёный |
| 8 | kt8 |
len и позиция в русской строке |
ответ командой course answer, см. ниже |
пункт kt8 зелёный |
Ответы на задачи 7 и 8:
course answer day20.kt7 ЧИСЛА
course answer day20.kt8 ЧИСЛАВместо ЧИСЛА — числа через пробел, в порядке из TASK.txt задачи.
Начать:
cd ~/gocourse/day20/kt1
cat TASK.txtПосле каждой задачи — коммит:
cd ~/gocourse/day20
git add .
git commit -m "kt1: отчёт по выгрузке"Ответы можно отправить заново — засчитывается последний. Программы, тест и таблицу можно поправить и проверить снова: пересдача — это повторный course check 20.
Готово, когда: в отчёте course check 20 в разделе контрольной точки — Задач сдано: 6 из 8 или больше.
Звёздочка
В зачёт не входит, course check 20 эти задания не смотрит.
- В
kt1вынесите разбор строки в функцию с результатомerrorи напишите к ней табличный тест: по случаю на каждое сообщение изTASK.txt. - В
kt5добавьте в конец прайса строкуИтого позиций: N, выровненную по той же колонке цен. - В
kt3напишите тест наaddBox: два вызова от одного среза с запасом ёмкости, и первый результат после второго вызова не изменился.
Готово, когда: тест для kt1 падает, если в функции поменять порядок проверок (проверьте в копии), прайс kt5 ровный на русских названиях, а тест kt3 падает на исходной addBox и проходит на починенной.
Порог дня: 9 пунктов из 12, и отдельно контрольная точка — 6 задач из 8. Без контрольной точки день не закрывается. Последний шаг — контрольные вопросы course quiz 20, после них ещё раз course check 20.