JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Quality pass: fmt/test/vet/lint

    Go SELF
    38 level,0 lecture
    We break down a practical quality gate for a Go project: the order gofmt/ goimports → go test → go vet → linters ( staticcheck, golangci-lint). Why it reduces “noise,” how to read tool output, what to treat as a blocker, and what common mistakes beginners make most often.
    Open
  • Coverage as a hint: what is critical to cover

    Go SELF
    38 level,1 lecture
    We break down what coverage in Go actually measures (and what it does not), and how to use coverage reports as a “terrain map” to find untested branches and error handling. Using the task and report packages as examples, we show: tests for invariants and errors ( errors.Is), table-driven tests, fighting “fake” tests, and deterministic output (sorting map keys).
    Open
  • Stabilizing public APIs

    Go SELF
    38 level,2 lecture
    We break down what exactly counts as a public API in a Go package: exported names and types, signatures, errors as a contract (including %w-wrapping), observable behavior, and the order in which data is produced. Using a mini-core todo as an example, we lock down the Task model, enforce invariants via a constructor, choose an error strategy ( ErrNotFound, ValidationError), decide up front about context.Context, package boundaries and using internal/, so we can plug in new layers without rewriting the domain.
    Open
  • Release checklist: build, smoke tests, documentation

    Go SELF
    38 level,3 lecture
    We break down why a project needs a release checklist and how it differs from a quality gate: how to confirm the build ( go build), run quick smoke tests ( go test ./...), avoid shipping a version with a “lying” README, and how to think about compatibility of exported APIs and error contracts ( errors.Is/ errors.As). At the end, you’ll see an example of a short checklist and common release-prep mistakes.
    Open
  • Dependency policy: tidy

    Go SELF
    38 level,4 lecture
    We break down why a team needs a “dependency policy” in Go: how to keep go.mod/ go.sum under control, why go mod tidy is daily hygiene, how not to break reproducibility with replace, how to pin dev-tool versions via go install pkg @ version, and why deterministic output (for example, key sorting when printing a map) is part of the same quality gate.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
  • Game projects
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush