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?