summaryrefslogtreecommitdiff
path: root/python/pychecker/README
diff options
context:
space:
mode:
Diffstat (limited to 'python/pychecker/README')
-rw-r--r--python/pychecker/README25
1 files changed, 25 insertions, 0 deletions
diff --git a/python/pychecker/README b/python/pychecker/README
new file mode 100644
index 0000000000..9fb5dcec9e
--- /dev/null
+++ b/python/pychecker/README
@@ -0,0 +1,25 @@
+PyChecker is a tool for finding bugs in python source code. It finds problems
+that are typically caught by a compiler for less dynamic languages, like C and
+C++. It is similar to lint. Because of the dynamic nature of python, some
+warnings may be incorrect; however, spurious warnings should be fairly
+infrequent.
+
+PyChecker works in a combination of ways. First, it imports each module. If
+there is an import error, the module cannot be processed. The import provides
+some basic information about the module. The code for each function, class,
+and method is checked for possible problems.
+
+Types of problems that can be found include:
+* No global found (e.g., using a module without importing it)
+* Passing the wrong number of parameters to functions/methods/constructors
+* Passing the wrong number of parameters to builtin functions & methods
+* Using format strings that don't match arguments
+* Using class methods and attributes that don't exist
+* Changing signature when overriding a method
+* Redefining a function/class/method in the same scope
+* Using a variable before setting it
+* self is not the first parameter defined for a method
+* Unused globals and locals (module or variable)
+* Unused function/method arguments (can ignore self)
+* No doc strings in modules, classes, functions, and methods
+