I use the shell script pattern. In bash the case statement at the bottom of your example can be replaced with this though:
“${@:-default}” || usage