ECE 2524

Introduction to Unix for Engineers

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.