PyCon Portugal 2025

Visualizing complexity
2025-07-25 , Auditorium

An overcomplicated project increases development and maintenance time. We need some metrics for reducing the complexity of the existing code base. However, if we can make complexity visible, it will be much easier to work with it.


Sun Tzu said in The Art of War: "If you know your enemy and know yourself, you have nothing to fear from the outcome of a hundred battles".
In this talk we will talk about how to measure project complexity and how to visualize this complexity for successful follow-up actions to reduce complexity.

In each part of the talk, examples of complexity measurements in well-known OS projects will be given. Thanks to visualization tools we will be able to take a closer look at our enemy.

In this talk:

  1. Arts of Complexity
  2. Critical mass of tech debt
  3. Managed complexity
  4. Measuring complexity
  5. CCL index
  6. OOP vs FB style measurement.
  7. Coupling/Cohesion index.
  8. Cognitive Complexity Index
  9. Cyclomatic Complexity
  10. Composite code quality Index
  11. Strategies to distribute or reduce complexity
  12. Refactoring
  13. Defining refactoring Hot Zones
  14. Visual «heatmaps» of changes
  15. Changing abstraction level
  16. Increasing modularity
  17. Extracting Dependency
  18. Isolation without refactoring
  19. Imports control
  20. KIS- Keep Imports Short
  21. TDD - Three dots deprecation
  22. Alternatives for Type-Hinting
  23. Documentation
  24. LLMs
  25. Summary + Q&A

This workshop will offer participants a list of tools to measure and visualize complexity in any project.


Audience Level: Intermediate What are the main topics of your talk?:

Working with legacy

Senior software developer and architect with 12+ years of experience leading international teams, launching startups, speaking at technology conferences, writing and reviewing hundreds of thousands of lines of code, and сontributing to the open-source community as an award-winning code mentor.

This speaker also appears in: