Coding 2022-12-24

Tags:
By Max Woerner Chase

I had a look at the missing coverage in command_builder.py, and I concluded that, while it should be relatively straightforward to throw together a test at some level of abstraction, I feel like there should be some way to encode the checks that aren't being hit into the type system and remove them from the runtime code.

So, what would that look like:

Thinking about what would improve the codebase, I think the thing to do is to try to eliminate the isinstance checks that have test coverage. That makes the typing a bit easier to reason about, and also eliminates some conditionals, so the behavior of the code should be less squirrelly. If all of that works, then I can look into propagating the type information like I was talking about.

For now, I'm going to wind down, and I'll see what I can do in the next few days.

Good night.