Code for Thought
Welcome to Code for Thought, the podcast about software in research and the people behind it all. Languages: English, German, French
Code for Thought
ByteSized RSE: Lint and Static Code Analysis
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
- Not mentioned in the episode, but you might be interested in this linter written in Rust https://github.com/charliermarsh/ruff
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! Merci de votre écoute! Vielen Dank für´s Zuhören!
Contact Details/ Coordonnées / Kontakt:
- Email mailto:peter@code4thought.org
- UK RSE Slack (ukrse.slack.com): @code4thought or @piddie
- US RSE Slack (usrse.slack.com): @Peter Schmidt
- Mastodon: https://fosstodon.org/@code4thought or @code4thought@fosstodon.org
- Bluesky: https://bsky.app/profile/code4thought.bsky.social
- LinkedIn: https://www.linkedin.com/in/pweschmidt/ (personal Profile)
- LinkedIn: https://www.linkedin.com/company/codeforthought/ (Code for Thought Profile)
This podcast is licensed under the Creative Commons Licence: https://creativecommons.org/licenses/by-sa/4.0/