On 23Jul2017 19:02, Abdur-Rahmaan Janhangeer <arj.pyt...@gmail.com> wrote:
ah pylint yes, great checker ! *some guys thought of inventing it*

Yes, very handy. Greate for checking for simple logic errors too (variable used but never bound, missing imports, etc).

Just for folks' interest, I have a shell script called "lint" which I use which encapsulates my personal lint practices. Great for a final check before committing code. I append it for anyone else to use or adapt.

Interactively I've got a personal shell function called "lint" which, if no files are specificly named, runs that script against whatever files are currently modified in my working code repo. So one can just say "lint" at the shell prompt to get a report on one's work in progress.

Script appended below.

Cheers,
Cameron Simpson <c...@zip.com.au>

#!/bin/sh
#
# Lint the named files.
#   - Cameron Simpson <c...@zip.com.au> 22apr2017
#

set -ue

trace=
[ -t 2 ] && trace=set-x

cmd=$0
usage="Usage: $cmd filenames..."

[ $# -gt 0 ] || { echo "$cmd: missing filenames" >&2; echo "$usage" >&2; exit 
2; }

xit=0

for lintfile
do
 case "$lintfile" in
   *.json)
     $trace json-pprint <"$lintfile" 2>&1 >/dev/null || xit=1
     ;;
   *.go)
     $trace go tool vet -all -shadowstrict "$lintfile" || xit=1
     ;;
   *.php)
     { $trace php -l "$lintfile" \
       && $trace phpcs --standard=PSR2 --report=emacs "$lintfile"
     } || xit=1
     ;;
   *.py)
     { $trace python3 -m py_compile "$lintfile" \
       && $trace pyflakes-2.7 "$lintfile" \
       && $trace pep8 
--ignore=E111,E114,E126,E201,E202,E265,E266,E301,E302,E501,E731,W503 "$lintfile" \
       && $trace pylint "$lintfile"
     } || xit=1
     ;;
   *)echo "$cmd: no lint for $lintfile"
     ;;
 esac
done

exit $xit
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to