A module is a distinct and identifiable unit of code designed to be part of a larger application.

The specific definition of a module varies amongst programming languages and developers.

In Python and similar languages, a module is clearly defined as a file with a .py extension containing code that can be imported and utilised by other modules. In others, a module could refer to a class definition and its associated methods.

The key idea of modularity is to promote code reusability and organisational clarity.

Module Cohesion refers to the degree of relation between module elements. Module Coupling is the degree of interdependence between software modules.