mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 07:58:04 +00:00
58 lines
2.4 KiB
ReStructuredText
58 lines
2.4 KiB
ReStructuredText
.. -*- coding: utf-8 -*-
|
|
|
|
==============
|
|
Introduction
|
|
==============
|
|
|
|
What is Pylint?
|
|
---------------
|
|
|
|
Pylint is a tool that checks for errors in Python code, tries to enforce a
|
|
coding standard and looks for `code smells`_. It can also look for certain type
|
|
errors, it can recommend suggestions about how particular blocks
|
|
can be refactored and can offer you details about the code's complexity.
|
|
|
|
Other similar projects would include pychecker_ (now defunct), pyflakes_,
|
|
flake8_, and mypy_. The default coding style used by Pylint is close to `PEP 8`_.
|
|
|
|
Pylint will display a number of messages as it analyzes the code and it can
|
|
also be used for displaying some statistics about the number of warnings and
|
|
errors found in different files. The messages are classified under various
|
|
categories such as errors and warnings.
|
|
|
|
Last but not least, the code is given an overall mark, based on the number and
|
|
severity of the warnings and errors.
|
|
|
|
.. _pychecker: http://pychecker.sf.net
|
|
.. _pyflakes: https://github.com/pyflakes/pyflakes
|
|
.. _flake8: https://gitlab.com/pycqa/flake8/
|
|
.. _mypy: https://github.com/python/mypy
|
|
.. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
|
|
.. _`Guido's style guide`: https://www.python.org/doc/essays/styleguide/
|
|
.. _`refactoring book`: https://www.refactoring.com/
|
|
.. _`code smells`: https://martinfowler.com/bliki/CodeSmell.html
|
|
|
|
What Pylint is not?
|
|
-------------------
|
|
|
|
What Pylint says is not to be taken as gospel and Pylint isn't smarter than you
|
|
are: it may warn you about things that you have conscientiously done.
|
|
|
|
Pylint tries hard to report as few false positives as possible for errors, but
|
|
it may be too verbose with warnings. That's for example because it tries to
|
|
detect things that may be dangerous in a context, but are not in others, or
|
|
because it checks for some things that you don't care about. Generally, you
|
|
shouldn't expect Pylint to be totally quiet about your code, so don't
|
|
necessarily be alarmed if it gives you a hell lot of messages for your project!
|
|
|
|
The best way to tackle pylint's verboseness is to:
|
|
|
|
* enable or disable the messages or message categories that you want to be
|
|
activated or not for when pylint is analyzing your code.
|
|
This can be done easily through a command line flag. For instance, disabling
|
|
all convention messages is simple as a ``--disable=C`` option added to pylint
|
|
command.
|
|
|
|
* create a custom configuration file, tailored to your needs. You can generate
|
|
one using pylint's command ``--generate-rcfile``.
|