Linting and static code analysis in general are important tools in software engineering. Making sure the code builds and works is all very well. But a consistent coding style minimises maintenance efforts and future development. In this episode I'll introduce several tools that can make your code analysis easier:

  • pylint https://www.pylint.org
  • flake8 https://flake8.pycqa.org/en/latest/index.html
  • black https://black.readthedocs.io/en/stable/index.html
  • pre-commit https://pre-commit.com
    • pre-commit hooks https://pre-commit.com/hooks.html

Other links you may find interesting and have been mentioned in the episode

  • PEP8 https://peps.python.org/pep-0008/
  • Google Python Style Guide https://google.github.io/styleguide/pyguide.html
  • YAML file format https://yaml.org
  • Stephen C. Johnson's paper on lint https://web.archive.org/web/20220123141016/https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.1841&rep=rep1&type=pdf
  • Definition of spaghetti code (yes there is one) https://en.wikipedia.org/wiki/Spaghetti_code

Byte-sized RSE is presented in collaboration with the UNIVERSE-HPC project.
https://www.imperial.ac.uk/computational-methods/rse/events/byte-sized-rse/
ByteSized RSE link to Imperial College

Thank you for listening and your ongoing support. It means the world to us!
You can also support our efforts by leaving a rating or review.
Follow or contact us on

  • Email mailto:code4thought@proton.me
  • Patreon https://www.patreon.com/codeforthought
  • Slack (ukrse.slack.com): @code4thought
  • Mastadon: @code4thought@fosstodon.org
  • LinkedIn: https://www.linkedin.com/in/pweschmidt/

This podcast is licensed under the Creative Commons Licence: https://creativecommons.org/licenses/by-sa/4.0/