principles:single_level_of_abstraction
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
principles:single_level_of_abstraction [2020-10-12 12:36] – old revision restored (2018-04-20 01:39) 159.69.186.191 | principles:single_level_of_abstraction [2021-10-18 22:03] (current) – +++ restored +++ christian | ||
---|---|---|---|
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 ===== | ||
Line 82: | Line 82: | ||
public List< | public List< | ||
List< | List< | ||
- | | + | |
+ | ResultDto dto = new ResultDto(); | ||
+ | dto.setShoeSize(entity.getShoeSize()); | ||
+ | dto.setNumberOfEarthWorms(entity.getNumberOfEarthWorms()); | ||
+ | dto.setAge(computeAge(entity.getBirthday())); | ||
+ | result.add(dto); | ||
+ | } | ||
+ | return result; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | There are two levels of abstractions in this method. First there is the loop which acts upon the whole result set and second there is the loop body which converts a single entity to a [[patterns: | ||
<code java> | <code java> | ||
Line 124: | Line 135: | ||
Discuss this wiki article and the principle on the corresponding [[talk: | Discuss this wiki article and the principle on the corresponding [[talk: | ||
+ |
principles/single_level_of_abstraction.1602498961.txt.gz · Last modified: 2020-10-12 12:36 by 159.69.186.191