Tickity Tackity
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:
-
Variable and function names are meaningful:
-
Comments are used where appropriate:
more consistent use of docstrings would be nice. Tough the code is quite clear without them, docstrings are useful for generating documentation.
Philosophy
-
The program most closely follows the
ed-like
interface pattern: -
This choice of pattern is a good one for this application:
for a board style game a
rouge-like
interface might be more appropriate.ed-like
is best for command-driven interactions. -
This program follows the Rule of Silence and Least Surprise:
-
This program follows the Rules of Modularity and Composition:
generally a good separation between the interface and board, though
board.py
was responsible for quite a bit of output making it less useful as a module to other programs. -
This program follows the Rules of Representation and Simplicity:
the input parser makes heavy use of excessive index checks and if/elif blocks. I suspect there is a cleaner, simpler way to implement this. The ASCII art banners would probably be better off in a separate data file. Coming up with a general format for describing NxN game boards could be useful and allow for easy expansion to connect-4 and other similar type games.