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 revisionPrevious revision
Next revision
Previous revision
Next 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 christianprinciples: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, it should go to a private method which comprises statements on this level. Doing so will result in smaller methods. 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, it should go to a private method which comprises statements on this level. Doing so will result in smaller methods.
  
-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 entity) {
     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