분류 전체보기
-
리팩터링 Chapter 5, 6(앞부분) - 기본적인 리팩터링Computer기본지식/리팩터링 2021. 9. 10. 16:00
이번 장에서는 본격적으로 리팩터링기법에 대한 소개가 시작됩니다. 첫 번째 챕터는 함수추출과 인라인 등 기본적인 리팩터링 기술에 대해서 설명합니다. 양이 꽤 많은 관계로 반으로 나눠서 진행하였습니다. Chapter 5. 리팩터링 카탈로그 보는 법 5-1 리팩터링 설명 형식 1. 개요 개념도 + 코드 예시가 나옵니다. 다음에 찾기 쉽게 기억 되살리기용 시각 장치입니다. 2. 절차 구체적인 진행 순서가 기억나지 않을 때 참고하는 것입니다. 작은 단계들을 밟아 나가는게 핵심입니다. 상황이 난해할수록 단계를 잘게 나누면됩니다. 3. 예시 레퍼런스로써 사용하면 됩니다. 물론 간단한 코드로 구성되어있습니다. Chapter 6. 기본적인 리팩터링 6-1 함수 추출하기 function printOwing(invoice)..
-
리팩터링 Chapter 4 - 테스트 구축하기Computer기본지식/리팩터링 2021. 9. 2. 19:04
이번 4장은 테스트를 어떻게 작성하고 작성한 것을 바탕으로 리팩터링하는 방법을 가르쳐줍니다. 저도 Spring을 공부하면서 무작정 기능을 개발하는 습관이 있었습니다. 예외적인 부분과 경계부분은 전혀 고려하지 않았습니다. 이 챕터를 읽고나서는 코드를 짜는 방식에 대한 생각이 완전히 바뀌었습니다. 기능을 구현하기 전 무조건 기능에 대한 테스트 코드를 작성하고 그것에 맞춰가는 방식으로 코드를 구성할 예정입니다. 이것이 바로 TDD(Test Driven Development)입니다. 4장을 정리해보겠습니다. 4-1 자가 테스트 코드의 가치 실제 프로그래머들이 코드를 작성하는 시간의 비중은 크지 않습니다. 대부분의 시간을 설계 및 버그 수정에 시간을 쏟아 붓습니다. 작업을 효율적으로 해줄 수 있는 방법이 테스트를..
-
API (4) - Url Shortener + 42Ouath APIBack-end/나만의 API 2021. 8. 29. 18:37
안녕하세요. 이번에는 Shortner과 42Ouath를 합쳐서 Url을 관리하는 API를 만들어봤습니다. 물론 2개는 이미 만들어봐서 합치면 되는 프로젝트였습니다. 최종적으로 1달 정도 프로젝트를 진행한 것을 정리해보겠습니다. 주요 기능 ※ 42로그인 했을 경우 42계정에 맞는 URL을 서버에서 관리해줍니다. 추가적으로 URL접근 횟수도 기록해주는 기능을 추가했습니다. ※ 로그인 하지 않을 경우는 추가적인 기능은 제공하지 않지만 여러 URL을 생성할 수 있습니다. DB TABLE구성 ID HashValue OriginUrl Name Count BigInteger String String String Integer Project구성 URL을 맵핑해주는 controller JPA Entity역할을 하는 do..
-
리팩터링 Chapter 3 - 코드에서 나는 악취Computer기본지식/리팩터링 2021. 8. 26. 16:40
이번 포스팅은 코드에서 나는 악취라는 주제로 포스팅하겠습니다. 이번 챕터는 리팩터링을 언제 해야하고 언제 그만할지를 알려주는 챕터입니다. 그래서 다양한 리팩터링 기술들을 간단하게 코드로 소개했습니다. 3-1 기이한 이름 함수, 모듈, 변수, 클래스 등은 이름만 보고도 무슨 일을 하고 어떻게 사용해야 하는지 명확히 알 수 있도록 신경써야합니다. 대부분 함수 선언 바꾸기, 변수 이름 바꾸기, 필드 이름 바꾸기로 리팩터링. 3-2 중복 코드 한 클래스에 두 메서드가 똑같은 표현식 사용하는 경우 : 함수 추출하기 코드가 비슷한데 완전히 똑같진 않을 경우 : 문장 슬라이스하기 같은 부모로부터 파생된 서브 클래스에 중복 코드가 있을 경우 : 메서드 올리기 문장 슬라이스 비슷한 부분을 모아서 함수 추출하기를 쉽게 적..