====== Module ====== ===== Meaning 1: Module as a General Concept ===== ==== Alternative Terms ==== /*i.e. alternative names meaning the same thing*/ ==== Definition ==== A **module** is a piece of code that carries a name and is syntactically distinguished from other parts of the code. ==== Description ==== Several [[principles]] deal with the decomposition and interaction of classes, methods, procedures, functions, etc. In order to abstract from the concrete syntactic element---be it a class, a method, a procedure, a function, an executable or the like---the term "module" is used. A module is a general concept of a distinguishable part of the code which can be represented by a variety of language constructs. ==== Examples ==== * [[Procedures]] * [[Functions]] * [[Methods]] * [[Classes]] * [[Interfaces]] * [[Mixins]] * Modules (see below) * ... ==== Alternative Definitions ==== /*i.e. slightly different definitions for basically the same thing*/ ==== See Also ==== * [[Unit]] ==== Further Reading ==== ---- ===== Meaning 2: Module in the Context of Modular Programming ===== ==== Alternative Terms ==== /*i.e. alternative names meaning the same thing*/ * Unit ==== Definition ==== In the context of [[modular programming]] "module" refers to the concept of a specific part of a system encapsulating a certain piece of functionality. ==== Description ==== ==== Examples ==== ==== Alternative Definitions ==== /*i.e. slightly different definitions for basically the same thing*/ ==== See Also ==== ==== Further Reading ==== * [[wp>Modular Programming]] ---- ===== Meaning 3: Module as a Language Construct ===== ==== Alternative Terms ==== /*i.e. alternative names meaning the same thing*/ ==== Definition ==== In some programming languages "module" may refer to a certain language feature more or less linked to the module concept in modular programming (see above). ==== Description ==== ==== Examples ==== * Python modules: https://docs.python.org/3/tutorial/modules.html ==== Alternative Definitions ==== /*i.e. slightly different definitions for basically the same thing*/ ==== See Also ==== ==== Further Reading ==== ---- ===== Other Meanings ===== /*i.e. the same term referring to something different; put short mentions here or better add more detailed descriptions as additional sections */ * In the context of testing, "module" may refer to the smallest separately testable piece of code. ---- ===== Discussion ===== Discuss this wiki article and the term on the corresponding [[talk:glossary:Module|talk page]].