Terry Yin

Terry Yin

Audience level:
2 p.m.–2:45 p.m.

Python And Software Complexity


Software complexity measures how complicated a piece of software's internal structure is. It has great influence on the maintainability and testability of software. This talk is about how to measure the software complexity and how to decrease the complexity and improve the design.


What's software complexity

Complex != complicated. Your software might have very complex functionality, but you don't have to implement it in a complicated way.

I will introduce you a free tool to measure it.

Why does it matters

I will show you the reason and statistics on the relationship between software complexity and bugs, maintainability and testability.

How to decrease the complexity

High software complexity implies design problems. To solve the problem, it's not always breaking one big method into two. It might imply different problems (we call them code smells), and there are different ways of improving them (we call the ways refactoring). You will see some examples on it. Some examples will be from the complexity measurement tool itself.

About the tool

I'm the author of the software complexity measurement tool, written in Python, of course. You can find it at: https://github.com/terryyin/lizard

Sponsored by: