Found an error where self.faces().sort() was syntacticly correct, at
least I think it is, but wasn't actually generating my sorted list.
Storing the faces returned list as a variable and then sorting the
list stored in the variable did work reliably.
Python OOP is just different enough from Java's syntax that it's
driving me crazy, but I'm still having fun. Honestly I always looked
at OOP as having a different set of "scopes" as functional Programming
but the more I've been using OOP the more I see it's just the same
scope and access paradigm. You need to either receive or create data,
do something with it, and possibly pass data back to something else.
This unit is going to be an exercise in patience for me because I see
a lot of framework building before actually getting to the result that
I want.
When I'm writing code, I'm trying to solve a specific problem,
but when I write documentation, I'm trying to clearly convey what
is actually going through my head. The shift is sort of subtle but
it's awkward because I know what I'm thinking and what I'm trying
to do, but as I write documentation there's a constant uncertainty
of "will someone else be able to understand this, even if it's me
in a week?"
I certainly should start using docstrings, that's for sure. Writing
documentation in general is something I should put more resources into
because generally I only do it when I have already written some
pseudocode planning out my process and that sort of naturally flows
into becoming comments or docstrings. In reality, a lot of times
I'm trying to code as fast as I can think and so as things develop
quickly, I'm not taking the time to actually explain what's going on
and to go back later and add those kinds of docstrings feels awkward,
even though that exercise is still worthwhile in the grand scheme
of the design.
Checkpoint 1: The first thing that comes to my mind, along the same vein
as the Die objects, is a deck of cards. You could create a deck of Card
objects and deal hands to simulate poker or blackjack.