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: