A term with strong connections to OnceAndOnlyOnce: '''Name and Conquer''': introduce appropriate terminology to reduce complexity of expressions/code, including new variables, changing variables, introduction of new functions. "The normal way to avoid redundancy is to introduce an identifier[1]. As its name suggests, an identifier names, or identifies, (the value of) an expression. We can then use its name in place of the larger computation. Identifiers may sound exotic, but you're used to them in every programming language you've used so far: they're called variables. We choose not to call them that because the term 'variable' is semanticallycharged: it implies that the value associated with the identifier can change (vary)." * [1] "As the authors of Concrete Mathematics say: 'Name and conquer' (page 2)" [verified correct reference] * From the textbook ''Programming Languages: Application and Interpretation'', section ''Substitution'', by Shriram Krishnamurthi (2003-09-08 version, 8 page pdf at http://www.cs.brown.edu/courses/cs173/2003/Textbook/2003-09-08.pdf) * Later/final version of entire textbook in one file at: http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/ And this term also occurs here: *Allowing formulas to get so long that they do not format well or are unnecessarily confusing "violates the principle of `name and conquer' that makes mathematics readable." from Mathematical Writing by Donald E. Knuth, Tracy Larrabee, and Paul M. Roberts ---- See also WikiWordsAreConcepts, DivideAndConquer, OnceAndOnlyOnce, NameMagic Related: NamingConqueredLands ---- CategoryNaming, CategoryMath