The Alphanum Algorithm
"People sort strings with numbers differently than software does. Most sorting algorithms compare ASCII values, which produces an ordering that is inconsistent with human logic." David Koelle's approach to this problem is known as the Alphanum Algorithm.
While the sorting algorithm as such works well, the Java implementation has some minor, but annoying flaws when it comes to static analysis and standard coding guidelines. That's why including its source code in professional projects with a focus on code quality can easily become troublesome.
However, this Java version of the Alphanum Algorithm is compatible with the following QA tools:
- PMD: default rules configuration.
- FindBugs™: all bug categories, low minimum priority to report, maximal analysis effort.
- Checkstyle: Sun Checks aka Code Conventions for the Java™ Programming Language
- J2SE 5.0 or newer
The Alphanum Algorithm is released under the GNU Lesser General Public License.