Back-End/ETC

    [Refactor] 리팩터링에 순서가 존재할까?

    완성된 프로젝트나 작성된 코드를 객체지향 프로그래밍을 적용해서 리팩터링 하려 한다. 리팩터링을 진행하려고 할 때, 어디서부터 시작하여 마무리해야 할까? 특별한 순서나 규칙, 절차는 존재하지 않는 것 같다. 하지만 리팩터링도 단계별로 적용하는 것이, 유지보수가 쉬운 형태로 만들어 나갈 수 있다고 생각한다. 단계별 프로그래밍, 작은 단위부터 기능을 구현한 경험을 바탕으로 리팩터링을 하기 전 점진적 단계를 구성해 보자. 단계별 프로그래밍 경험 + 리팩터링 단계 설정 1. 코드 이해 먼저 코드베이스를 깊게 이해하고 어떤 부분이 수정되어야 하는지 파악해야 한다. 요구사항을 정확히 준수한다. README를 재검토한다. 정상적인 경우, 예외적인 상황 정리 2. 테스트 추가 코드베이스에 예외 테스트가 부족하다면, 리팩..

    [IntelliJ] 키셋 설정과 단축키로 효율적으로 테스트하기

    서론 웹 개발 환경에서 IntelliJ IDEA가 각광받는 이유 중 하나는 개발에 필요한 플러그인, 편의성 다양한 도구등을 내장하고 있기 때문이라고 생각한다. IntelliJ의 추가적인 키셋 설정은 반복 작업의 자동화로 편의성을 높일 수 있다. 이번 포스팅에는 TDD를 작성하는 과정을 예시로 키셋 설정 방법을 정리해보려고 한다. 포스팅은 Window OS에서 작성되었습니다. 메일 서비스 TDD 주도개발 매출 통계 내역을 메일로 전송하려고 한다. 간단하게 생각해서 메일 서비스에 필요한 것은 무엇일까? - 메일 전송 파라미터를 담을 메서드 - 메일 전송 결과를 판단할 타입 - 메일 내용을 담을 Entity 등이 있을 것 같다. 메일서비스의 테스트 생성부터 테스트코드 작성 키셋, 통합테스트를 위한 gradle..