From: Robert Klemme Date: 2006-10-14T19:10:11+09:00 Subject: Re: Debugging in the large, modern practice? Hugh Sasse wrote: > On Thu, 12 Oct 2006, Eivind Eklund wrote: > >> Invariant checks ("Design by Contract"), mostly. Adding invariant >> checks to your system will often unearth weird cases - making them >> easily reproducable and making them fail early. > > Yes, this is something I need to know more about. In Programming > Pearls I've seen lots of mention of invariants, e.g. for loops, but > though > I think I understood what was being said, I found that I didn't 'grok' > the statements deeply. I think I need to understand more about how to > think in this way. Some of this is probably covered by "What could > I put in an assert statement that would always succeed (for this loop > or whatever", but I suspect the concept runs deeper. I found Bertrand Meyer's "OO Software Construction" provided a lot interesting insights in this area and others as well. It's a large book and it also covers Eiffel "along the way" but BM definitively has strong opinions and well thought out positions that are worthwhile to consider - even if you do not agree to all of them. I found the read very fruitful. Kind regards robert