Skip to main content

A linter/refactoring tool to make you code smell better!

Project description

Good Smell - it makes your code smell good!

A linting/refactoring library for python best practices and lesser-known tricks

Build Status Code style: black PyPi version

Installing:

pip install good_smell 

Usage:

good_smell warn - Print warnings about smells in the code

good_smell warn PATH
good_smell warn --path PATH

Alternativly you can run it through flake8. Smells will be with the code SMLxxx

good_smell fix - Print a fixed version of the code

good_smell fix PATH [STARTING_LINE] [END_LINE]
good_smell fix --path PATH [--starting-line STARTING_LINE] [--end-line END_LINE]

Supported code smells:

Range(len(sequence))

for i in range(len(sequence)):
    x = sequence[i]
    do_thing(x,i)

will be fixed to

for i, x in enumerate(sequence):
    do_thing(x,i)

Directly nested for loops

for i in seq_a:
    for j in seq_b:
        print(i, j)

to

import itertools
for i, j in itertools.product(seq_a, seq_b):
    print(i, j)

Running tests

Clone the repository and run inside it

pip install .[test]
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

good_smell-0.4.tar.gz (5.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page