User Tools

Site Tools


principles:single_level_of_abstraction

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:single_level_of_abstraction [2021-09-02 10:46] – old revision restored (2021-05-11 22:26) 65.21.179.175principles:single_level_of_abstraction [2021-10-18 22:03] (current) – +++ restored +++ christian
Line 1: Line 1:
 ====== Single Level of Abstraction (SLA) ====== ====== Single Level of Abstraction (SLA) ======
- 
 ===== Variants and Alternative Names ===== ===== Variants and Alternative Names =====
 +
  
   * One Level of Abstraction   * One Level of Abstraction
Line 23: Line 23:
 A further indicator for a missing method is the combination of a blank line, a comment and a block of code. In most of the cases the code block should go to a new private method. This also makes the comment obsolete as the new method carries a name which typically resembles the comment.  A further indicator for a missing method is the combination of a blank line, a comment and a block of code. In most of the cases the code block should go to a new private method. This also makes the comment obsolete as the new method carries a name which typically resembles the comment. 
  
-Sometimes extracting the method would result in the new method having a large number of parameters. Alternatively the parameters could be converted to fields of the class. But this would often result in bad [[glossary:cohesion]]. Because of that in such a case extracting a new class is the next step in adhering to the principle.+Sometimes extracting the method would result in the new method having a large number of parameters. Alternatively the parameters could be converted to fields of the class. But this would often result in bad [[glossary:cohesion]]. Because of that in such a case extracting a new class is the next step in adhering to the principle.  
  
 ===== Rationale ===== ===== Rationale =====
Line 76: Line 76:
  
 ==== Example1: Loops ==== ==== Example1: Loops ====
- 
-**No Sam No** 
  
 A typical example for the application of SLA is a loop iterating over a certain data structure: A typical example for the application of SLA is a loop iterating over a certain data structure:
Line 137: Line 135:
  
 Discuss this wiki article and the principle on the corresponding [[talk:principles:Single Level of Abstraction|talk page]]. Discuss this wiki article and the principle on the corresponding [[talk:principles:Single Level of Abstraction|talk page]].
 +
principles/single_level_of_abstraction.1630572397.txt.gz · Last modified: 2021-09-02 10:46 by 65.21.179.175