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-10-12 12:35] – old revision restored (2019-08-07 00:20) 159.69.186.191 | principles:single_level_of_abstraction [2020-10-12 12:36] – old revision restored (2018-04-20 01:39) 159.69.186.191 | ||
---|---|---|---|
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> |
principles/single_level_of_abstraction.txt · Last modified: 2021-10-18 22:03 by christian