일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 엘라스틱서치
- Spring Batch
- Java
- intellij
- docker
- Spring XD
- design pattern
- DDD
- hdfs
- 스프링 배치
- elastic search
- spark
- elasticsearch
- Spring
- Domain Driven Design
- SBT
- Gradle
- nginx
- Hbase
- hadoop
- Storm
- Spring Boot
- Angular2
- Clean Code
- 제주
- hibernate
- scala
- Linux
- apache storm
- 도메인주도설계
- Today
- Total
목록Methdology/Refactoring (2)
욱'S 노트
문제점 매직넘버를 사용합니다. 매직넘버란 무엇인가 살펴보자면 아래와 같은 코드를 사용하고 있습니다. if (100 < input.length()) 이렇게 되었을 경우 문제점은 1. 의미를 이해하기 어렵습니다.2. 복수의 장소에서 사용된다면 변경하기 힘듭니다. 해결책 상수를 사용하면 됩니다. public static final int MAX_INPUT_LENGTH = 100; 연습문제 문제public class Robot { private final String name; public Robot(String name) { this.name = name; } public void order(int command) { if (command == 0) { System.out.println(name + " wal..
기능에 대한 욕심 (Feature Envy)객체의 가장 중요한 요점은 데이터와 데이터를 사용하는 프로세스를 하나로 묶는 기술이다. 한가지 고전적인 냄새가 있는데 그것은 메소드가 자신이 속한 클래스보다 다른 클래스에 관심을 가지고 있는 경우이다가장 흔한 욕심이 데이터에 대한 욕심이다. Move Method를 사용한다.메소드의 특정 부분만 이런 욕심으로 고통 받는데 이럴 때는 욕심이 많은 부분에 대해서 Extract Method 사용한 다음 Move Method를 사용한다.물론 이런 규칙이 깨지는 몇몇 복잡한 패턴도 있다. 디자인 패턴에서 Strategy와 Visitor 가 당장 떠오른다. Kent Beck의 Self Delegation도 그 중하나다.확산적 변경과 싸우기 위해 이런 것들을 이용해야 한다. ..