Python
I'm not a great programmer; I'm just a good programmer with great habits. - Kent Beck
Style and Syntax
PEP 8 – Style Guide for Python Code https://peps.python.org/pep-0008/
Style and Syntax Tools
Pylint
https://www.pylint.org/
Code analysis for Python
Flake8
https://flake8.pycqa.org/en/latest/
Your Tool For Style Guide Enforcement
Testing
Write tests until fear is transformed into boredom - Kent Beck, Test-Driven Development: By Example
Testing Tools
Unitest
https://docs.python.org/3/library/unittest.html
The unittest unit testing framework was originally inspired by JUnit and has a similar flavor as major unit testing frameworks in other languages. It supports test automation, sharing of setup and shutdown code for tests, aggregation of tests into collections, and independence of the tests from the reporting framework.
Pytest
https://docs.pytest.org/
The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.
Coverage.py
https://coverage.readthedocs.io/
Coverage.py is a tool for measuring code coverage of Python programs. It monitors your program, noting which parts of the code have been executed, then analyzes the source to identify code that could have been executed but was not.
Docstrings
PEP 257 - Docstring Conventions https://peps.python.org/pep-0257/
Sphinx
https://www.sphinx-doc.org/en/master/tutorial/automatic-doc-generation.html
Sphinx is a documentation generator or a tool that translates a set of plain text source files into various output formats, automatically producing cross-references, indices, etc. That is, if you have a directory containing a bunch of reStructuredText or Markdown documents, Sphinx can generate a series of HTML files, a PDF file (via LaTeX), man pages and much more.
doxygen
https://www.doxygen.nl/
Doxygen is a widely-used documentation generator tool in software development. It automates the generation of documentation from source code comments, parsing information about classes, functions, and variables to produce output in formats like HTML and PDF. By simplifying and standardizing the documentation process, Doxygen enhances collaboration and maintenance across diverse programming languages and project scales.
Last updated
Was this helpful?