corner case : Java Glossary
- corner case
Corner cases are the bane of computer programming. They are usually where you find
bugs. Very often in processing a file, the first and last records have to be
specially processed in some same. These would not be called corner cases, since the
code is exercised every time you run the programs. Corner cases would include:
Normally you write your code for the ordinary case, then when you are done check
if the corner cases work too. If they don’t and your code requires all manner
of special case fudging, chances are you can change the basic algorithm so most of
the corner case code comes out in the wash without special handling. Sometimes you
can deal with a freakish case entirely separately so it does not pollute the main
logic, slowing down usual case processing.
- Does this code work for the empty String,
null, 0 or a set of 0 elements?
- Does this code work for Integer.MIN_VALUE and Integer. MAX_VALUE?
- Does this code work if there are duplicate values?
- Does this code work for bytes with the high bit
- If the code demands points, what happens if three of the points are
Even the famous programmers can be thrown for a loop by corner cases. A corner
case bug in binary search took two decades to be discovered.