We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Writing Good Python

Formal Metadata

Title
Writing Good Python
Subtitle
Tools and libraries for achieving code consistency
Title of Series
Number of Parts
130
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Like other programming languages, it is easy to write cryptic, unmaintainable, and rigid Python code. Moreover, in teams, this problem escalates due to varied coding styles of developers. How to ensure code quality and consistency? My goal with this talk is to educate my audience about some tools and libraries that can help us in making our code more consistent. I was a Software Engineer who wrote Automation systems in Python for some of the fortune 500s. I intend to cover the following major ideas: • What is a high-quality code? How consistency is an important aspect of maintainability? • Ways to achieve consistency in Python o What is PEP8? o “pylint” - a source code, bug, and quality checker for python and follows the style recommended by PEP 8 o What is PEP257? o “pydocstyle” checks compliance with Python docstring conventions. o What is PEP484? o “mypy” provides optional static type checking. o “bandit” which can find common security issues in Python code. o “black” which is a Python source code formatter. • Ways to integrate mentioned tools in development life cycle o While writing (IDE extensions) o During commit (pre-commit hooks) o After push (Build pipelines) • “pre-commit” is a framework for managing and maintaining multi-language pre-commit hooks • Example of an Azure DevOps pipeline integrating all mentioned tools. pylint, pydocstyle, mypy, bandit, black and pre-commit are available on PyPI. My audience should know how to install Python libraries from PyPi using pip.