Add a #! line at the beginning of each of the existing Python programs and change these files to be executable. This sets the stage for having the test script blindly run anything that is executable, adding support for testing many programming languages.
Style #10
Constraints:
-
Larger problem is decomposed into entities using some form of abstraction (objects, modules or similar)
-
The entities are never called on directly for actions
-
The entities provide interfaces for other entities to be able to register callbacks
-
At certain points of the computation, the entities call on the other entities that have registered for callbacks
Possible names:
- Hollywood agent: "don't call us, we'll call you"
- Inversion of control
- Callback heaven/hell