Conditionals in Debugging and Technical Documentation
5 exercises — practise all four conditionals in technical contexts: zero for system truths, first for probable fixes, second for hypotheticals, and third for post-mortem analysis.
Conditionals in debugging
Zero (if + present, + present): system truths — "If X fails, Y crashes"
First (if + present, + will): probable fix — "If you restart it, it will recover"
Second (if + past, + would): hypothetical now — "If we had better tests, this wouldn't happen"
Third (if + past perfect, + would have): past regret — "If we had caught it earlier, we would have avoided the outage"
0 / 5 completed
1 / 5
A debugging guide states: "If the health check endpoint returns 503, ___ the upstream service is down." Which form correctly completes a zero conditional (general truth)?
It means is correct. The zero conditional (if + present simple, + present simple) expresses general truths, laws, and always-true cause-and-effect relationships. In debugging documentation, zero conditionals describe deterministic system behaviour: "If the connection pool is exhausted, new requests fail." · "If a null pointer is dereferenced, the process crashes." · "If the cache miss rate exceeds 90%, latency spikes." The defining feature: the result always happens when the condition is true — no uncertainty. Zero conditional = If + present, + present. Contrast with first conditional (if + present, + will) which is for probable future events, not universal truths.
2 / 5
An on-call engineer says: "If you restart the service, the memory leak ___ clear — I've seen this fix it before." Which form expresses a likely/probable result?
Will clear is correct. The first conditional (if + present simple, + will + infinitive) is used for probable or likely future outcomes — things that are expected to happen if the condition is met. In debugging and on-call communication: "If you roll back the deployment, the error rate will drop." · "If we increase the connection pool size, requests will stop timing out." · "If the log shows OOM, restarting will clear the heap." First conditional = probable, realistic outcome. The phrase "I've seen this fix it before" reinforces that this is an expected, likely result — not hypothetical. Contrast: would (second conditional) = hypothetical or unlikely; clears (zero) = always true.
3 / 5
A senior engineer reviews a fix and says: "If we had better test coverage, this regression ___ into production." Which form expresses a hypothetical present/future scenario (the opposite of reality)?
Wouldn't slip is correct. The second conditional (if + past simple, + would + infinitive) expresses hypothetical present/future situations contrary to current reality. Here, the engineer implies: we do NOT have good test coverage (reality), so this regression DID slip through. The second conditional imagines the alternative: "If we had [better coverage — we don't], it wouldn't slip [into production]." Tech examples: "If we had more staging environments, deployment confidence would improve." · "If the service used circuit breakers, it wouldn't cascade fail." · "If we had proper logging, we would have caught this earlier." Contrast with option A (wouldn't have slipped) — that's third conditional, referring to a past hypothetical.
4 / 5
A post-mortem document reads: "If the alerting threshold ___ been set correctly, the on-call team ___ have responded 40 minutes earlier." Which pair completes the third conditional correctly?
Had / would have is correct. The third conditional (if + past perfect, + would have + past participle) describes hypothetical situations in the past — things that didn't happen. In post-mortems: "If the threshold had been set correctly, the team would have responded earlier." = In reality, the threshold was wrong, and the team didn't respond in time. This is the most common conditional in incident post-mortems and retrospectives: "If we had had a rollback plan, recovery would have taken minutes, not hours." · "If the test had covered that edge case, the bug wouldn't have reached production." Third conditional = past regret / counterfactual. Structure: If + had + past participle, + would have + past participle.
5 / 5
A runbook instruction reads: "If the pod keeps crashing, check the OOM killer logs; if those ___ clean, examine the liveness probe configuration." Which form is correct in a zero-conditional chain of diagnostic steps?
Are is correct. In a diagnostic runbook or troubleshooting guide, chained if-then steps describing system states use the zero conditional (if + present, + present/imperative). The entire chain operates in the "always-true" domain of diagnostic logic: "If the logs are clean [= this is a consistent state], examine the liveness probe." Full runbook pattern: "If A occurs → check B. If B shows X → do C. If C fails → escalate." These are not future probabilities (no will) and not hypotheticals (no would). They are systematic diagnostic truths. Zero conditional chains are the backbone of runbooks, SOPs, and debugging guides. The imperative in the second clause (examine, check, restart) is also standard and fully correct in zero-conditional instructions.