User Tools

Site Tools


principles:rule_of_explicitness

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
principles:rule_of_explicitness [2021-09-02 12:38] – old revision restored (2021-05-19 11:24) 65.21.179.175principles:rule_of_explicitness [2021-09-02 12:38] – old revision restored (2021-05-11 22:22) 65.21.179.175
Line 7: Line 7:
 ===== Context ===== ===== Context =====
 /* fill in contexts here: */ /* fill in contexts here: */
-  * [[contexts:Object-Oriented Design]] +  * [[contexts:Object-Oriented Design]] 
 +  * [[contexts:API Design]]
  
  
Line 80: Line 81:
   * [[Generalization Principle]] (GP): RoE often results in specific solutions. Generality often requires stating something implicitly.   * [[Generalization Principle]] (GP): RoE often results in specific solutions. Generality often requires stating something implicitly.
   * [[Low Coupling]] (LC): Direct communication typically has the disadvantage of a higher coupling. Indirection reduces coupling but creates implicit/indirect communication paths.    * [[Low Coupling]] (LC): Direct communication typically has the disadvantage of a higher coupling. Indirection reduces coupling but creates implicit/indirect communication paths. 
 +
  
 ==== Complementary Principles ==== ==== Complementary Principles ====
Line 85: Line 87:
   * [[Keep It Simple Stupid]] (KISS): Explicit solutions are often also simpler.   * [[Keep It Simple Stupid]] (KISS): Explicit solutions are often also simpler.
   * [[Murphy's Law]] (ML):The typical reason for RoE is to avoid unnecessarily complicated solutions and possibilities for defects. Don't loose that goal out of sight.   * [[Murphy's Law]] (ML):The typical reason for RoE is to avoid unnecessarily complicated solutions and possibilities for defects. Don't loose that goal out of sight.
 +  * [[Model Principle]] (MP): RoE states that [[anti-patterns:primitive obsession]] shall be avoided. Instead more specific types should be used in parameter lists. MP makes this even clearer: In object-orientation objects instead of plain integers or strings are used.
 +
  
 ==== Principle Collections ==== ==== Principle Collections ====
Line 91: Line 95:
  
  
-===== Example =====+===== Examples =====
  
  
principles/rule_of_explicitness.txt · Last modified: 2021-10-18 22:06 by christian