summaryrefslogtreecommitdiffstats
path: root/docs/docsite/rst/dev_guide/testing/sanity/no-wildcard-import.rst
blob: fdaf07b097aebe4626e01a246c2bb1f7796901c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
:orphan:

no-wildcard-import
==================

Using :code:`import *` is a bad habit which pollutes your namespace, hinders
debugging, and interferes with static analysis of code.  For those reasons, we
do want to limit the use of :code:`import *` in the ansible code.  Change our
code to import the specific names that you need instead.

Examples of unfixed code:

.. code-block:: python

    from ansible.module_utils.six import *
    if isinstance(variable, string_types):
        do_something(variable)

    from ansible.module_utils.basic import *
    module = AnsibleModule()

Examples of fixed code:

.. code-block:: python

    from ansible.module_utils import six
    if isinstance(variable, six.string_types):
        do_something(variable)

    from ansible.module_utils.basic import AnsibleModule
    module = AnsibleModule()