Sebastian Golasch works as a “Specialist Senior Manager Software Developer” at Deutsche Telekom, after some time developing backend applications with Java, PHP and Ruby he became a citizen of the JavaScript world.
For the last six years Sebastian tries to improve our lives, working on Deutsche Telekoms Smart Home platform Qivicon. Famous last words: “If I would’ve wanted to work in ‘Enterprise’, I’d have joined Starfleet…”
In 1976 McCabe developed metrics to determine the complexity of the code we write. One year later Halstead formulated a metric to achieve something similar. 30 years later, we still rely on those numbers that describe the complexity of our code, but do these metrics tell truth about our code?
I believe not. Thanks to our modern, sophisticated toolchain we have many metrics at hand that Mr. McCabe & Mr. Halstead could only dream of. In this talk, I´ll explain how the combination can give us much better & “more human” advice about the flaws of our codebase - not as abstract numbers, but as concrete pointers to the parts of our code that really need our love & attention.
A common “How to” for measuring the complexity of your code looks like this (see *1): “Install it - Create the report - Watch the report - And now go try make your code better!”. This is not far from the famous “How to draw an owl” (see *2) & only slightly worse than trying to understand this complex topic from wikipedia and the related formulas (see *3)
Aside from understanding these abstract numbers, we need to ask ourselves if looking at those metrics isolated is still the way to go more than 30 years after its invention. Our ecosystem has grown and so has the available data about our code.