5 exercises — use must, should, shall, and may precisely in specifications, RFCs, and code reviews, following the RFC 2119 keyword conventions.
0 / 5 completed
1 / 5
An author is writing an RFC and wants to state an absolute requirement, following RFC 2119 conventions. Which sentence is correct?
"MUST" as an absolute requirement: Under RFC 2119, the keyword MUST (and its synonyms REQUIRED and SHALL) signals an absolute, non-negotiable requirement for conformance. Should only expresses a strong recommendation that may be ignored with good reason. Can expresses ability or permission, not obligation, and might expresses mere possibility. For a security control that is mandatory, only must conveys the binding force the specification needs.
2 / 5
In a spec, you want to say a behaviour is recommended but not mandatory. Which modal fits the RFC 2119 keyword "SHOULD"?
"SHOULD" as a recommendation:SHOULD means there may be valid reasons to ignore the item in particular circumstances, but the full implications must be understood and weighed before choosing a different course. Must and shall are too strong (absolute requirements), while could is too weak — it merely notes a possibility and carries no recommendation. Reserve should for best practices that you advise but do not strictly enforce.
3 / 5
A reviewer wants to forbid a behaviour absolutely in a protocol spec. Which negative modal is correct for "MUST NOT"?
"MUST NOT" as an absolute prohibition:MUST NOT (synonym SHALL NOT) is the RFC 2119 keyword for an absolute prohibition. Should not only discourages the behaviour. Need not means the behaviour is optional — the opposite of a prohibition. Cannot describes a technical impossibility rather than a normative rule; here the server is technically able to leak the hash, so we must prohibit it, not claim it is impossible.
4 / 5
An engineer is drawing a logical conclusion from logs in a postmortem. Which modal expresses near-certainty based on evidence?
"Must have" for deduction: When you draw a confident logical conclusion from available evidence, English uses must have + past participle (epistemic must). The logs make the cause almost certain, so must have been caused is correct. Should have implies an expectation that was not met, can have is non-standard in affirmative deductions (use could have for possibility), and will have been refers to a future-perfect prediction, not a deduction about a past event.
5 / 5
A tech lead wants to make a polite, tentative suggestion in a code review comment. Which modal is most appropriate?
"Might want to" for tentative suggestions: In collaborative code reviews, might want to softens a suggestion and respects the author's autonomy, which helps maintain a constructive tone. Must and shall impose an obligation that is too forceful for an optional refactor. Can simply states the action is possible and lacks the recommending nuance. Choosing the right strength of modal is central to professional, diplomatic technical communication.