Recyclability
Materials and Processes which can be reused multiple times in the same project are considered RECYCLABLE.
Recycling helps you search through the game content for assets and elements that are repeated and to put them into a self-contained module as part of the development plan.
Abstractness
Producing generalisations from particular instances by identifying their abstract qualities helps you to see the potential for recycling.
Modularity
Dividing a game into modules allows each module to hide the specifics of its implementation. Focusing on achieving a single purpose. The advantage of this is that:
you can translate complex entities into a collection of simpler ones.
you can make changes to the implementation of a specific module without affecting the others.
Simplicity
You should identify all the modules in a game and for each module if two or more share the same function they should be merged to form one larger module. Repeating this process throughout development will yield the simplest arrangement of modules possible.