Here's the calculator tool that I used to choose among multiple solutions to a coding problem. It's not perfect, but it helps me break down how good each of my options are. The most useful part is not the numbers it spits out, but that it forces me to carefully think through the numbers I put in.
I mostly use it when writing code, but it's helpful when doing UI/UX design stuff too.
Column headers are editable, as are cell inputs.
Here are some definitions.
How easy is it to complete? This one's a big one because any solution that is perfect on the other criteria but is impossible to do should tank the final score.
How clean is the solution? This is different than its ability to be understood. A clean solution might be easy to maintain once you understand it, but hard to understand it initially.
Is the solution comprehensible to someone familiar with the problem? Is it comprehensible to someone new to the problem? A solution can score high on the other criteria, but be really hard to understand.
How easy is it for someone working on this solution to extend it when they need to? If this is a one-off problem, or it's unlikely to be touched ever again, this might not matter. But odds are, someone will need to edit this block of code again, so it should be easy to change.
Logic v. Schema
The balance of how much of the solution is in the logic of the code, vs how much is in the schema.
Using the word schema here, but you could easily substitute for "framework" or "design pattern." If you lean entirely on the schema, you'll need to break it or move away from it when you need to write more code. If you lean solely on the logic of your code, you might end up having to write ever increasing amounts of it when you extend this solution.