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 [2014-07-02 21:07] – SLA does not advocate splitting up algorithms as they typically operate on a low level anyway; so there is no mixing up of levels christian | principles:single_level_of_abstraction [2018-04-23 09:39] – 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 19: | Line 19: | ||
All statements of a method should belong to the same level of abstraction. If there is a statement which belongs to a lower level of abstraction, | All statements of a method should belong to the same level of abstraction. If there is a statement which belongs to a lower level of abstraction, | ||
- | Often the body of a loop can be extracted resulting in a separate private method. Loops should ideally contain a single statement (usually a method call). Sometimes this is not achievable without other drawbacks but certainly large loop bodies can be considered a small. | + | Often the body of a loop can be extracted resulting in a separate private method. Loops should ideally contain a single statement (usually a method call). Sometimes this is not achievable without other drawbacks but certainly large loop bodies can be considered a smell. |
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. | ||
Line 104: | Line 104: | ||
} | } | ||
- | private ResultDto toDto(ResultEntity) { | + | private ResultDto toDto(ResultEntity |
ResultDto dto = new ResultDto(); | ResultDto dto = new ResultDto(); | ||
dto.setShoeSize(entity.getShoeSize()); | dto.setShoeSize(entity.getShoeSize()); |
principles/single_level_of_abstraction.txt · Last modified: 2021-10-18 22:03 by christian