Compilers are forced to do the former, but static analysis tools generally do the latter. This includespylint,jshintandshellcheckitself. This is a design decision meant to make the tools more helpful at the expense of some noise. For consistency and to avoid giving the impression that it shoul...