ECE 2524

Introduction to Unix for Engineers

Fast coding starts with fast typing!

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:

    A clean separation between game engine and interface could really improve the maintainability and extensibility.

  • Variable and function names are meaningful:

  • Comments are used where appropriate:

    well-named functions and variables helped with understanding but good use of docstrings allows automatic documentation generation.

Philosophy

  • The program most closely follows the ed-like interface pattern:

    given the nature of the program, reading scripted input from standard input wouldn't really make sense

  • This choice of pattern is a good one for this application:

  • This program follows the Rule of Silence and Least Surprise:

  • This program follows the Rules of Modularity and Composition:

    A cleaner separation of engine and would pave the way for network and multiplayer implementations.

  • This program follows the Rules of Representation and Simplicity:

    lists of number/word associations would best be stored in an external text file. This structure would also open the way for different types of word games just by changing the data files.