Don’t follow #9. It’s very bad practice. The names of your arguments need to show (or imply) their intention. That extra verbosity is worth more, in terms of saving you future maintenance.
And for #11, the
== in your conditionals means something different than the
===. The latter will check for the same type. In short, the 3rd
= is always worth the trouble.