메서드 정리 리팩토링의 주된 작업은 코드를 포장하는 메서드를 적절히 정리하는 것입니다. 대부분의 문제점은 장황한 메서드로 인해 발생합니다. 이 장황한 메서드에는 많은 정보가 들어가 있고, 복잡한 로직에 의해 우리들이 알아야하는 정보들이 묻혀버립니다. 핵심적인 리팩토링 기법은 이러한 장황한 메서드를 적절한 메서드 추출 기법과 메서드 내용 직접 삽입, 임시변수를 메서드 호출로 전환등의 기법을 통해 정리를 해야합니다. 지금부터 어떤 방법이 있는지 어떻게 적용할 수 있는지 예제를 통해 살펴보겠습니다. 메서드 추출 메서드 추출 기법은 장황한 메서드를 쪼개는 기법입니다. 메서드를 쪼개어 기능을 분리하고 명확한 메서드명을 짓는것입니다. 메서드 추출 기법을 통해 반환해야하는 변수가 2가지 이상인 경우 객체를 사용하여 ..
코드의 구린내란? 리팩토링이 필요하다고 판단되는 "의심나는 상황"을 빗대어 "구린내" 라는 표현으로 나타낸 것 중복 코드 중복 코드는 똑같은 코드 구조가 두 군데 이상 있을 때 발생하게 됩니다. 이러한 문제는 동일한 부분을 하나로 통일하면 문제가 해결됩니다. 💡 한 클래스의 두 메서드 안에 같은 코드가 있는 경우 이 경우 메서드 추출 기법을 사용하여 중복되는 코드를 빼내어 별도의 메서드를 만든 후 해당 메서드를 두 곳에서 호출하는 방법입니다. public void methodA() { methodC(); } public void methodB() { methodC(); } private void methodC() { // 중복 로직을 담고 있는 코드를 추출 } 💡 두 하위 클래스에 같은 코드가 있는 경우..
리팩토링은 무엇인가? 리팩토링이란 두 가지로 정의할 수 있습니다. 첫째, 겉으로 드러나는 기능은 그대로 둔 채, 알아보기 쉽고 수정하기 쉽게 소프트웨어 내부를 수정하는 일 둘째, 리팩토링 기법을 연달아 적용해 겉으로 드러나는 기능은 그대로 둔 채, 소프트웨어 구조를 변경하는 일 💡 리팩토링의 목적 우리가 만든 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것, 즉 오늘의 기능은 정상적으로 수행하면서 내일의 변경에 유연하게 수용할 수 있도록 만들기 위함이라고 생각합니다. 켄트백의 모자 두 개 이야기 소프트웨어 개발 시 기능 추가 작업과 리팩토링 작업은 구분해야 하지만 우리는 기능 추가 모자와 리팩토링 모자를 번갈아 쓰게 됩니다. 처음 새 기능을 추가하다가, 지금까지 만든 기능의 구조를 변경하면 작업..

도메인이란? 도메인이란 소프트웨어로 해결하고자 하는 문제 영역입니다. 하나의 도메인은 여러 하위 도메인의 협력을 통해 완전한 기능을 제공합니다. 도메인을 하나의 객체라는 관점으로 바라본다면 객체지향의 본질처럼 협력을 통해 공동체를 구성하고, 객체는 고립된 존재가 아닌 하나의 애플리케이션 기능을 수행하기 위해 협력하는 사회적 존재로 바라볼 수 있을거 같습니다. 도메인 전문가와 개발자 간 지식 공유 우리가 소프트웨어로 해결하고자 하는 문제 영역에는 각 분야의 전문가가 있습니다. 예를들어 정산, 배송, 회계 영역에는 전문가가 있습니다. 해당 전문가는 해당 도메인에 대한 지식과 경험을 바탕으로 요구사항을 전달하고, 개발자들은 이런 요구사항을 토대로 개발을 진행합니다. 이때 요구사항을 제대로 분석하지 않으면 코드..
- Total
- Today
- Yesterday
- 서비스 기반 아키텍처
- service based architecture
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot poi excel download
- 람다 표현식
- pipeline architecture
- JDK Dynamic Proxy와 CGLIB의 차이
- spring boot excel download paging
- 레이어드 아키텍처란
- redis 대기열 구현
- 공간 기반 아키텍처
- microkernel architecture
- @ControllerAdvice
- space based architecture
- pipe and filter architecture
- polling publisher spring boot
- redis sorted set으로 대기열 구현
- spring boot 엑셀 다운로드
- java userThread와 DaemonThread
- spring boot excel download oom
- spring boot redisson sorted set
- redis sorted set
- transactional outbox pattern
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot redis 대기열 구현
- spring boot redisson 분산락 구현
- java ThreadLocal
- transactional outbox pattern spring boot
- 자바 백엔드 개발자 추천 도서
- spring boot redisson destributed lock
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |