to die for
Usage
-
The README contained everything I needed to easily use the program:
-
The program compiles/runs without errors:
-
The program worked as advertised:
Style
-
The code is cleaning divided into modules and multiple files:
spliting into a couple files would improve organization.
-
Variable and function names are meaningful:
-
Comments are used where appropriate:
naming is good so it's easy to follow, but docstrings would still be useful, especially to aid in further development and extensibility.
Philosophy
-
The program most closely follows the
ed-like
interface pattern:while not necessarily useful for scriptability, at least accepting a sequence of letters from standard input would allow for automatic testing
-
This choice of pattern is a good one for this application:
This is an interesting one because ed-like certainly works more than adequatly, however, I think a rouge-like interface would be even more appropriate to give the appearance of a single gallows that slowly gains body parts, instead of a sequence of gallows, each with one more body part than the last.
-
This program follows the Rule of Silence and Least Surprise:
-
This program follows the Rules of Modularity and Composition:
separating the engine from the interface would be very appropriate and would set the stage for a multi-player expansion
-
This program follows the Rules of Representation and Simplicity:
the heavy use of index literals suggests there is a better way. Could body parts be stored in a text file and then read in a character at a time, ignoring whitespace?