View Single Post
  #6   Spotlight this post!  
Unread 27-11-2013, 14:17
sdaustin sdaustin is offline
Registered User
FRC #3667 (The Mecanum Knights)
Team Role: Engineer
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Port Huron, MI
Posts: 17
sdaustin is an unknown quantity at this point
Re: How does your team incorporate engineering units?

Quote:
Originally Posted by Ether View Post
The implication of the above being that not only would that problem not have slipped through, but also no other problems would have been introduced by the harder-to-read code which is littered with casts:
That's not what I was trying to imply. My point is that people are imperfect. All software has bugs. Using sound software engineering practices to expose them as early in the development cycle as possible is a Good Thing. Ultimately it's a tradeoff of time/cost for QA vs. anticipated impact of a bug that slips through the cracks.

In the case of the Orbiter, the integration testing obviously didn't include the test case that would have exposed the unit mismatch - or the verification side of the test wasn't properly written, or nobody looked at the results, etc.

Would stronger type/unit checking native to the compiler(s) have caught the problem? Would programmers have "fixed" the compiler warnings/errors by littering their code with typecasts to make them "go away", thereby making the coder harder to read/maintain - and possibly causing this exact bug to slip through anyway? We'll never know.