Introduction - Gianfrancoalongi/murenzhuang GitHub Wiki

Mu Ren Zhuang (from now on referred to as MRZ) is an procedurally generated exercise system aimed at helping developers practice the following

  • Maintaining coding energy
  • Refactoring
  • TDD
  • Designing for flexibility
  • Surviving in a dynamic world (eternally changing requirements)

This is done by MRZ presenting you with a basic system to implement. Then MRZ changes the system by growing or shrinking the amount of features. MRZ will sometimes add features which depend on others, or create new features without connection to prior existing ones.

You may at any time stop the exercise, but MRZ was intended to be performed with TDD and 100% code coverage.

Every time MRZ asks you to implement a feature - you do it.

Every time MRZ asks you to remove a feature - you do it.

After having implemented or removed something (having touched the code) - you refactor and improve the code.

The system MRZ asks you to implement is presented in a visual graph, as the example below.

Example of an MRZ system