39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# Part 3 — taskcli: fix three failing tests in Go
|
|
|
|
`taskcli` is a tiny interactive task tracker. You may never have written Go
|
|
before — **that is expected and fine**. This part measures how you pick up a
|
|
language you don't know yet, which is exactly what we said in the job
|
|
description.
|
|
|
|
Try it out:
|
|
|
|
```bash
|
|
go run . # interactive: add <title>, done <id>, list, quit
|
|
go test ./... # three tests currently fail
|
|
```
|
|
|
|
## Your task
|
|
|
|
1. Make the three failing tests pass by fixing the underlying bugs in
|
|
`store.go`. The tests themselves are correct.
|
|
2. For **each** bug, fill in a short entry in `WRITEUP.md`: what was wrong,
|
|
and *why Go behaves that way*. Three or four sentences per bug is plenty.
|
|
|
|
The write-up matters as much as the fix. "Changed X to Y" without the why
|
|
tells us nothing about how you learn.
|
|
|
|
## Do this one yourself
|
|
|
|
Use your AI tools as a **tutor** here, not as the author: ask what a
|
|
pointer receiver is, not for the patch. The follow-up interview includes
|
|
walking us through these three fixes from memory — code you didn't write
|
|
is hard to defend live. (The other parts carry no such restriction; this
|
|
one is specifically about how *you* learn.)
|
|
|
|
## Hints for Go newcomers
|
|
|
|
- Error messages from `go test` include file and line numbers.
|
|
- The [Tour of Go](https://go.dev/tour) sections on methods, strings, and
|
|
errors cover everything these bugs touch.
|
|
- `gofmt -w .` formats your code the one true way.
|