Diary 2019-09-23

By Max Woerner Chase

Today, for Structured Data, rather than carefully adding tests for the new functionality, I just did the easier thing of pasting in the prototype and throwing tests at it until the coverage was acceptable. Then added some functionality. Then fixed long-standing bugs in the original code that all of this revealed. And did some refactoring. The rating services are still yelling over the code, stuff about how the modules should be smaller and some of the functions should have a lower cyclomatic complexity.

I was reading various literature on cyclomatic complexity, and I don't have citations to hand, but the impression I got was that cyclomatic complexity is best used as a measure of "how hard the code would be to test". But I have a comprehensive test suite and mutation testing! I don't need metrics about how hard a thing would be, when I can produce metrics about how close I am to achieving it!

I'll still try to improve on the situation later, but I need to take some time to decide what "improvement" looks like.

Aside from that, I think I'm done compressing down reference materials. It's a bit under 50 pages, which just need to be printed out and marked up; I'll do that in the next few days.

For now, I really need to wrap up (and stop tweaking the Structured Data code). Good night.