Skip to content

Latest commit

 

History

History
83 lines (56 loc) · 5.41 KB

README.md

File metadata and controls

83 lines (56 loc) · 5.41 KB

A Tale of two Kitchens, Hypermodernizing Your Codebase

You can read the elaborate version of this as a blog post

When starting a new python project, the “hypermodern” python ‘template’ is a popular choice. Its style is opinionated and strict, and it brings a consistent style and today's best practices. How do I bring my legacy codebase up to this standard?

Summary

A consistent style and standard and the consistent use of the same tools in all your code, makes it easier to reason about, reduces context switching, thus reducing waste (in the LEAN sense). A clean environment is good for your health and safety, enabling you to deliver quality faster.

This talk goes deeper into how to modernize your legacy codebase to reduce your technical debt, to make it easier for you to tackle the real challenges without ever having to discuss a style guide again. It will provide tips, tricks and tools to make your “hypermodernization” effort as smooth and easy as possible.

Hypermodern Python

The most important thing I have done as a programmer in recent years is to aggressively pursue static code analysis. Even more valuable than the hundreds of serious bugs I have prevented with it is the change in mindset about the way I view software reliability and code quality.

-- John Carmack

Tools

Security

  • Bandit is a tool designed to find common security issues in Python code.
  • GuardDog is a CLI tool that allows to identify malicious PyPI packages.
  • Safety checks Python dependencies for known security vulnerabilities and suggests the proper remediation for vulnerabilities detected.

Slides

A Tale of Two Kitchens Hypermodernizing Your Codebase.

Blog Post

A Tale of Two Kitchens - Hypermodernizing Your Python Code Base

Recordings

EuroPython 2022 PyCon Ireland 2022

Related Talks

EuroPython 2022 featured related talks about tools and techniques I only touched on in my talk.

Further Readings

Talk is Cheap, Show me the Code

While most of my 'hypermodernizing' was done on proprietary code, there is a good example in pygeoif, which was brought up to the standard 10 years after the 0.1 version was released. The diff is not very helpful, almost every line was touched in the end, but you can compare the version 0.6 to the current implementation.

Closing Remarks

This is a git repository, treat it as one. If you have questions, corrections or additions do not hesitate to join the discussion, create an issue or a pull request ;-)