Coding 2023-10-30

Tags:
By Max Woerner Chase

Okay. I've got some more insight on one of the Metadata classes, but it hasn't translated into a new name yet.

Here's the deal:

A command, like you'd dispatch on the shell, has some arguments, and environment variables associated with the execution. It also may rely on or cause side effects that are not specifically mentioned in the arguments or environment variables. This is expressed within the low-level interfaces exposed in current releases of MOTR.

A concept at a higher level is an Executable, which is approximately "anything that requires some kind of installation process that MOTR is to handle, and is capable of processing arguments, environment variables, etc" This could be either a shell script, or the slightly less obvious "argument to python -m"

The Metadata class sort of combines these, by having containers corresponding to the lower-level ideas, but allowing Executables in addition to the normal data types. It then provides facilities to convert these Executables down to the normal data types.

So, the problem is, obviously Metadata is a bad name for this, and I should come up with something better. But I'm not sure what yet. One possibility is to push some of the concepts to the lower level, which would effectively remove the class, via converting its functionality into a single function. Ultimately this wouldn't get rid of the problem of naming a class, but it would simplify it, by making the class to be named smaller and more focused.

I think that'll get things in a good position, though it'll be a rough merge up to the future topic. For now, I'll be glad I've come up with a plan.

Good night.