Track
C
Review pointers, buffer bounds, allocation ownership, const contracts, structs, error codes, file cleanup, integer limits, compiler flags, and tests.
- 01
Pointer ownership at boundaries
Make write ownership visible by receiving caller-owned buffers with size, instead of returning hidden shared storage.
pointersownershipbuffers - 02
Buffer bounds and formatted output
Use bounded formatting APIs and check their return values before treating a fixed buffer as complete.
buffersboundsformatting - 03
Allocation and free ownership
Pair heap allocation with a visible free function so callers know when they own memory and when to release it.
mallocfreeownership - 04
Const correctness for read paths
Mark read-only pointers as const so callers and reviewers know a check will not mutate shared state.
constpointerscontracts - 05
Struct ownership and borrowed views
Use small view structs to state borrowed data and lengths, instead of returning pointers to temporary storage.
structsownershipviews - 06
Error codes that name failures
Return named error codes when validation can fail for multiple reasons, so callers can branch without guessing.
errorsvalidationcontracts - 07
File I/O cleanup paths
Keep cleanup on every file I/O path so early returns and write failures do not leak file handles.
filescleanupresources - 08
Integer overflow before allocation
Check multiplication before allocating arrays so a wrapped byte count does not create a too-small buffer.
integersoverflowmalloc - 09
Compiler warning contracts
Make compiler assumptions visible in source so warning flags and language version mistakes fail during review or CI.
compilerwarningsbuilds - 10
Unit tests with boundary cases
Write small C tests that assert boundary behavior directly, instead of printing output for a human to inspect.
testsassertionsboundaries
Related tracks
Keep learning inside the same language family.
C++
10Review RAII, smart pointers, move semantics, const references, rule of zero, exception boundaries, templates, algorithms, locks, and tests.
C#
10Review nullable references, records, async cancellation, dependency injection, disposal, exceptions, LINQ, pattern matching, options, and tests.
Rust
10Review ownership, borrowing, lifetimes, Result and Option boundaries, traits, async safety, Cargo features, and tests.