6 exercises — practise the meanings of re-, de-, micro-, over-, pre-, and un- with real IT examples: refactor, decouple, microservice, overengineer, prefetch.
0 / 6 completed
IT prefix cheat sheet
re- = again / back: refactor, redeploy, revert, retry, replay
pre- = before / in advance: prefetch, preload, preprocess, pre-provision
un- = not (adjectives/past participles): unreachable, unhandled, unresolved, untested
1 / 6
What does the prefix "re-" mean in "refactor", "redeploy", and "revert"?
re- = "again" or "back to a previous state"
• refactor — restructure existing code without changing its external behaviour (do the structuring again, better) • redeploy — deploy again (often after a fix) • revert — go back to a previous state ("revert the commit", "revert to version 2.1") • rollback — back to a previous working version (rollback is roll + back, but functionally similar) • replay — replay events (event sourcing) • retry — try again (retry logic, retry with exponential backoff)
Note: "refactor" is not "re-factor" in standard use — it is one word. The prefix meaning is embedded but the word functions as a single unit.
2 / 6
What does "decouple" mean in software architecture?
de- = remove or reverse — "decouple" means reduce or remove tight coupling between components. The prefix de- appears in many IT terms:
• decouple — make components independent ("decouple the UI from the data layer") • deprecate — de + precate (from Latin praecari, to pray for) — formally mark as obsolete • debug — de + bug — remove bugs • deserialise — de + serialise — convert from a serialised format back to an object • deallocate — de + allocate — free allocated memory • decompress — de + compress — reverse compression
Tight coupling = changing one component requires changing others. Decoupling = components can evolve independently, which improves maintainability.
3 / 6
What does "microservice" mean, and what does the prefix "micro-" indicate in IT?
micro- = small, fine-grained, single-purpose
• microservice — a small, independently deployable component of a larger application, each with a single bounded responsibility ("the payments microservice", "the notifications microservice") • microbenchmark — a benchmark for a tiny, isolated piece of code (as opposed to benchmarking the whole system) • microcontroller — a compact processor with integrated memory and I/O, used in embedded systems • micro-optimisation — optimising a very small piece of code, often at the cost of overall readability
Contrast with "monolith" (single deployable unit) and "macro" (large-scale). Note: "micro-optimisation" is sometimes used pejoratively — optimising tiny pieces while ignoring the bigger architectural bottleneck.
4 / 6
What does "overengineer" mean?
over- = more than necessary, excessive
• overengineer — design a system more complex or generalisable than the current problem requires ("don't overengineer this; we just need a simple script") • overload — load more than capacity; also: method overloading in OOP (defining a function multiple times with different signatures) • overwrite — write over existing data • override — in OOP, providing a new implementation of a parent class method in a subclass • overfitting — in ML, a model fitting training data too closely and failing to generalise
Contrast with under-: • underprovisioned — not enough resources allocated • underfitting — a model too simple to capture patterns in the data
5 / 6
What does "pre-" mean in "prefetch", "preload", and "preprocess"?
pre- = before, in advance
• prefetch — retrieve data before it is explicitly requested, anticipating future need ("the browser prefetches the next page") • preload — load a resource before it is needed ("preload the hero image via ") • preprocess — process input before the main operation ("preprocess the CSV before importing") • provision → pre-provision — set up infrastructure before it is needed • staging environment is sometimes called a "pre-production" environment • precondition — a condition that must be true before a function runs
Contrast with post-: • post-deployment — after deployment • post-mortem — after the incident (note: written as "postmortem" without hyphen in most tech contexts)
6 / 6
Choose the correct sentence using "un-" negation.
Option B — "unreachable" — the un- prefix combined with a past participle or adjective forms a valid negative: "unreachable code" is a standard software term for dead code that can never be executed.
Common un- words in IT: • unreachable — cannot be reached (unreachable code, unreachable host) • unhandled — not handled (unhandled exception) • unresolved — not resolved (unresolved dependency, unresolved conflict) • untested — not tested (untested code path) • unmaintainable — cannot be maintained
Why the others are wrong: • "undeploying" — the correct form is "rolling back" or "undeploy" is not standard; you "shut down" or "roll back" a deployment • "unscaled" — not standard; use "scaled down" to reduce capacity • "unfetch" — not a word in any context