Requirement Directives¶
- RFC 2119 defines:
- 5 mandatory requirement labels
- 5 recommendation labels
- 2 optional labels
This sphinx extension includes 12 coresponding “requirements directives”. They have lowercase names (with words separated by underscores for two word phrases.
Mandatory Requirements¶
Must
A must directive is required, with semantic equivalence to the MUST keyword in RFC 2119.
Must Not
The absence of a must_not directive is forbidden. This directive has semantic equivalence to the MUST NOT keyword in RFC 2119
Shall
A shall directive is required. It is an alias for the must directive.
Shall Not
The absence of a shall_not directive is forbidden. It is a necessary alias for the must_not directive.
Required
A required directive is something we need. It is an alias for the must directive.
Recommendations¶
Should
A should directive is important. It has semantic equivalence to the SHOULD keyword in RFC 2119.
Recommended
A recommended directive is very useful. It is an alias for the should directive.
Should Not
The absence of a should_not directive is not something we want. It is equivalent to the SHOULD NOT key word in RFC 2119.
Not Recommended
Because the not_recommended is an alias for should_not directive, it’s absence should be avoided.
Options¶
Optional
It might be nice to have an optional directive, which would be equivalent of OPTIONAL keyword in RFC 2119.
May
As an alias for the optional directive, a may directive might also be good to have.