martinfowler.com logo Home Blog Articles Books About Me Contact Me ThoughtWorks

StandardsSpeak writing Reactions

If you read many standards documents, apart from the need for excessive amounts of coffee, you'll also need to be wary of the overloaded meaning of some words.

Standards use shall to indicate something that is absolutely mandatory (or for 'shall not' absolutely forbidden). Violate a 'shall' and you are not conforming to the standard. The words required or must are synonyms.

The word should is weaker. 'Should' indicates a recommendation. The standard would like to you to follow it, but you're not breaking the standard if you don't. Recommended is a synonym.

May indicates an optional feature. You should be able to work with an implementation gracefully if it's present or if it's missing.

You can find a more official version of the above as RFC 2119.

Things that are normative are part of the standard. Sections that are non-normative are things like background information and clarifications. Sometimes suggested implementation techniques are suggested in a non-normative section because they help clarify the concepts in the standard, but the writers rightly don't want to constrain implementers.


Links
home
bliki
feed 
Translations
Japanese
Spanish
Korean
Chinese
Thai
Categories
agile
design
dsl
leisure
refactoring
ruby
thoughtWorks
tools
uml
writing
Blog Roll
ThoughtBlogs
TW Alumni
Nicholas Carr
Steve Cook
Brian Foote
Simon Harris
Gregor Hohpe
/\ndy Hunt
Ralph Johnson
Patrick Logan
David Ing
Brian Marick
Jeremy Miller
Jimmy Nilsson
Samuel Pepys
Keith Ray
Johanna Rothman
Kathy Sierra
Dave Thomas

martinfowler.com logo mingle logo thoughtworks logo

© Copyright Martin Fowler, all rights reserved