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 revision Previous revision
Next revision
Previous revision
principles:single_level_of_abstraction [2019-08-07 00:20]
52.88.14.253 [Description]
principles:single_level_of_abstraction [2020-09-24 16:24] (current)
82.80.249.159 old revision restored (2020-09-09 15:25)
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 12: Line 12:
 ===== Principle Statement ===== ===== Principle Statement =====
  
-Each method should be written in terms of a single level of abstraction.+Each method should be written in terms of a single 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 =====
principles/single_level_of_abstraction.1565130038.txt.gz · Last modified: 2019-08-07 00:20 by 52.88.14.253