Hi all,
In languages without direct DBC support it mean asserts for
precondition, postcodition and invariants included in the code.
Pro's and Con's:
This technique is a variant of Development test cases, but included
directly to the source code. Can be used in both ways, as a substitution
or complementary to dev. test cases. It's not hard to utilize and usually
doesn't impose a significant burden to core developers.
Implementation:
First, we have to verify asserts already present in source code and
usability of DEBUG build on all supported platforms. We can initiate a
sub-project in Firebird to include asserts into selected libraries and
separate subsystems and/or declare a policy for core developers
about when and how include asserts into source code.
Current status:
There're asserts already in the engine, so we just need to capitalize on
them, i.e. use DEBUG builds in testing. But I worry that they are not
always up-to-date/correct nor complete, so review would be needed.
Questions for you:
1) Do you think that we should use asserts ?
2) If yes, in what parts of core engine do you think that we should
include asserts ?
3) If yes, what procedure do you recommend ?
4) If yes, what should we focus on: precondition, postcondition,
invariants, some of these, all or other not listed here ?
Your comments would be greatly appreciated.
Best regards
Pavel Cisar
http://www.ibphoenix.com
For all your upto date Firebird and
InterBase information
|