User Tools

Site Tools


principles:principle_of_separate_understandability

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
principles:principle_of_separate_understandability [2013-10-07 14:26] – several minor improvements christianprinciples:principle_of_separate_understandability [2021-10-18 22:13] (current) – +++ restored +++ christian
Line 32: Line 32:
   * You have to find the implementation and jump there (modern IDEs help here but it takes time nevertheless)   * You have to find the implementation and jump there (modern IDEs help here but it takes time nevertheless)
   * While doing so, you have to memorize the call and the context of the call. If implementation and call are not colocated (which is preferable but not always possible) you won't see the call anymore so you have to memorize it.   * While doing so, you have to memorize the call and the context of the call. If implementation and call are not colocated (which is preferable but not always possible) you won't see the call anymore so you have to memorize it.
-  * Then you have to read the code and mentally inline it. +  * Then you have to read the code and [[glossary:mental inlining|mentally inline]] it. 
-  * If you could not memoroze everything, you might have to jump back and forth to do the job.+  * If you could not memorize everything, you might have to jump back and forth to do the job.
   * After you did all that you have to jump back and continue reading the method with the call you just mentally inlined.   * After you did all that you have to jump back and continue reading the method with the call you just mentally inlined.
  
Line 85: Line 85:
   * [[Tell, don't Ask/Information Expert]] (TdA/IE): At its heart PSU is about responsibility assignment. When a module is not separately understandable, this means that a responsibility is scattered across several modules. TdA/IE gives another aspect of responsibility assignment.   * [[Tell, don't Ask/Information Expert]] (TdA/IE): At its heart PSU is about responsibility assignment. When a module is not separately understandable, this means that a responsibility is scattered across several modules. TdA/IE gives another aspect of responsibility assignment.
   * [[Low Coupling]] (LC): Not adhering to PSU means that responsibilities are scattered across several modules. This typically also means increased coupling.   * [[Low Coupling]] (LC): Not adhering to PSU means that responsibilities are scattered across several modules. This typically also means increased coupling.
 +  * [[Single Level of Abstraction]] (SLA): The purpose of PSU is to avoid [[glossary:mental inlining]]. SLA on the other hand is about the avoiding the opposite: [[glossary:mental grouping]].
  
 ==== Principle Collections ==== ==== Principle Collections ====
Line 303: Line 304:
  
 Discuss this wiki article and the principle on the corresponding [[talk:principles:Principle Of Separate Understandability|talk page]]. Discuss this wiki article and the principle on the corresponding [[talk:principles:Principle Of Separate Understandability|talk page]].
 +
principles/principle_of_separate_understandability.1381148819.txt.gz · Last modified: 2013-10-07 14:26 by christian