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