||Using Design by Contract in C|
|Subject:||Why not GNU nana?|
I know that the wheel often is reinvented because it might not be known that the wheel already exists. This may be the case here. The project GNU nana addresses this coding style for C.
A quote from the GNU nana site: ``This style (Design by Contract) of analysis avoids a classic dilemma of analysis and specification: either you use a programming notation and run the risk of making premature implementation commitments; or you stick with a higher level notation (``bubbles and arrows'') and you must remain vague, forsaking one of the major benefits of the analysis process, the ability to state and clarify delicate properties of the system'' - ISE Inc.
The introduction in the nana manual best explains its features: Nana is a library that provides support for assertion checking and
In addition assertion checking and logging code can be implemented using a debugger rather than as inline code with a large saving in code space.