01.03.2016 17:14, Jim Starkey wrote:
> The "error prone" argument gets tossed around a lot, but I generally
> don't buy it.  Language features are not a substitute for testing. Sure,
> "override" will get a compiler error if you blow an overriding method
> prototype, but so will cursory testing.  The argument makes more sense
> in a rapid agile development environment, but much less so in a 30 year
> old database system.

   Imagine situation that you added a new member to a class. Now, with VS 2010 
you have to 
visit every constructor of this class and add initialization of this member. 
Doable? Sure. 
Can you miss one constructor of half of dozen? Possible. Probability that this 
subtle bug 
will be noticed by tests? Very low.
   Another example right from our codebase: dumb pointers were replaced by 
smart pointers 
which implements auto cast to a dump pointer for backward compatibility. Fine, 
but now 
some statements like "if (ptr)" act as "if (true)", because now they test not 
pointer but 
the envelope itself. And compiler is silent about this.
   Copy constructors that aren't explicitly deleted also can make you busy.
   In my life I wasted enough time debugging to strongly believe that simple 
code is the best.

-- 
   WBR, SD.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to