There's and there's . No matter what you're doing: , , playing , performing , doing , , playing , ... these two things are part of what you're doing.

Practice puts tools in your toolbox; but beware: it's not "practice makes perfect"! It's "practice makes permanent"! Practice the right thing, the right way. Speed might be an important part of the actual act, but that's not where you start in practice. You start with **correct**. You practice until that thing is right every time and you can do it without thinking about it, for instance like you walk or like you chew. That action must not be an automatic response! If your practice trains you to always throw an uppercut after X has happened, you've skipped the thinking part! You're putting things in your toolbox so that you can assemble the correct answer from all the pieces you're already good at without thinking about any of them.

The hard part is **thinking**, because you obviously suck if you haven't practiced, but you un-obviously suck if aren't thinking. Practice (and learning, and researching, and focusing on the **why**) give you the power to use the individual building block (which is ready and perfect for you because of your practice), but it's thinking that lets you select the right one.

There's a built-in function in Python, `issubclass`. It takes two arguments: the object you're looking at (potentially a subclass) and the class you want to know: for this class, is the potential subclass **actually** a subclass? They come in that order. There are several built-ins in this form: `isinstance`, `getattr`, etc. First the thing of interest, second the object or class it might relate to. In your code, you've just written a ton of functions that are all about class hierarchies. The first argument is always the base class. Now you're about to write `is_virtual_subclass`. It's just like the built-in but considers the abstract base class `register` machinery. What order do you choose for the arguments? Do you make it like all your other recent functions? Or do you make it like the built-ins?

This part is about thinking!

0

If you have a fediverse account, you can quote this note from your own instance. Search https://hachyderm.io/users/YesJustWolf/statuses/115536602269322456 on your instance and quote it. (Note that quoting is not supported in Mastodon.)