principles:single_level_of_abstraction
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
principles:single_level_of_abstraction [2020-09-09 15:25] – old revision restored (2017-08-04 20:43) 116.202.228.169 | principles:single_level_of_abstraction [2021-09-02 14:11] – old revision restored (2021-05-11 22:25) 65.21.179.175 | ||
---|---|---|---|
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: | + | 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: |
===== Rationale ===== | ===== Rationale ===== |
principles/single_level_of_abstraction.txt · Last modified: 2021-10-18 22:03 by christian