💻 Code Reading & Description
7 exercise sets. The skill every developer needs in code reviews, pair programming, and technical interviews — explaining code clearly in English.
Example: Describe this function
function debounce(fn: Function, delay: number) {
let timer: ReturnType<typeof setTimeout>;
return function (...args: any[]) {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), delay);
};
} This function takes another function and a delay in milliseconds as arguments. It returns a new function that, when called, waits for the specified delay before executing the original function. If the returned function is called again before the delay expires, the timer resets. This prevents the original function from being called too frequently — a pattern called "debouncing".
- Beginner
Describing Functions & Methods
Read a function and describe what it does in plain English. Cover parameters, return values, edge cases, and side effects.
- Intermediate
Classes & Objects
Describe a class definition in English: its purpose, properties, methods, and relationships with other classes.
- Beginner
Reading Error Messages
Read exception messages, stack traces, and compiler errors. Explain in plain English: what went wrong, where, and why.
- Advanced
Describing Algorithms
Read a sorting or searching algorithm implementation. Explain the logic in plain English using sequence language: "first", "then", "finally".
- Intermediate
SQL Queries Explained
Read a SQL SELECT statement with JOINs and WHERE clauses. Describe in plain English what data this query retrieves.
- Advanced
Describing Regular Expressions
Read a regex pattern and describe what it matches in plain English. Critical for code reviews and documentation.
- Intermediate
API Responses & Data Structures
Read a JSON API response. Describe the data structure, identify nested objects, and explain what each field means.
Useful language for describing code
Describing purpose
- "This function takes X and returns Y."
- "This class is responsible for managing…"
- "This method checks whether…"
- "This query retrieves all records where…"
Describing sequence
- "First, it validates the input…"
- "Then, it calls the database…"
- "If X is true, it returns Y; otherwise…"
- "Finally, it cleans up the resources."
Describing errors
- "This error occurs when…"
- "The stack trace shows that the error was thrown in…"
- "The root cause is…"
- "This is a NullPointerException, which means…"