JavaScript7 [리팩터링 2판] JavaScript 리팩터링 도서학습 #8 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다. 이번 포스팅에선 Chapter11 의 내용에 대해 다룹니다. Chapter12 상속 다루기12장에서 소개하는 주요 리팩터링 기법들을 요약하고 예제와 함께 정리했습니다. Chapter12 상속 다루기1.메서드 올리기2.필드 올리기3.생성자 본문 올리기4.메서드 내리기5.필드 내리기6.타입 코드를 서브클래스로 바꾸기7.서브 클래스 제거하기8.슈퍼클래스 추출하기9.계층 합치기10.서브클래스를 위임으로 바꾸기11.슈퍼클래스를 위임으로 바꾸기 상속 다루기의 효과상속은 강력한 객체지향 메커니즘이지만, 잘못 사용하면 복잡성을 증가시킵니다.상속 리팩터링의 주요 효과 계층구조 명확화: 클래스 간의 관계와 책임이 명확해집니다코드 중복 제거: 공통 로직을.. 2025. 5. 29. [리팩터링 2판] JavaScript 리팩터링 도서학습 #7 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다.이번 포스팅에선 Chapter11 의 내용에 대해 다룹니다. Chapter11 API 리팩터링 11장에서 소개하는 주요 리팩터링 기법들을 요약하고 예제와 함께 정리했습니다.Chapter11 API 리팩터링1.질의 함수와 변경 함수 분리하기2.함수 매개변수화하기3.플래그 인수 제거하기4.객체 통째로 넘기기5.매개변수를 질의 함수로 바꾸기6.질의 함수를 매개변수로 바꾸기7.세터 제거하기8.생성자를 팩터리 함수로 바꾸기9.함수를 명령으로 바꾸기10.명령을 함수로 바꾸기11.수정된 값 반환하기12.오류 코드를 예외로 바꾸기13.예외를 사전확인으로 바꾸기 API 리팩터링의 효과API(Application Programming Interface)는 .. 2025. 5. 19. [리팩터링 2판] JavaScript 리팩터링 도서학습 #6 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다.이번 포스팅에선 Chapter10 의 내용에 대해 다룹니다. Chapter10 조건부 로직 간소화 10장에서 소개하는 주요 리팩터링 기법들을 요약하고 예제와 함께 정리했습니다.Chapter10 조건부 로직 간소화 1.조건문 분해하기2.중복 조건식 통합하기3.중첩 조건문을 보호 구문으로 바꾸기4.조건부 로직을 다형성으로 바꾸기5.특이 케이스 추가하기6.어서션 추가하기7.제어 플래그를 탈출문으로 바꾸기 조건부 로직 간소화의 효과복잡한 조건부 로직은 코드 이해와 유지보수를 어렵게 합니다조건부 로직을 간소화하면 얻을수있는 이점 가독성 향상: 코드의 의도가 명확해져 이해하기 쉬워집니다유지보수성 개선: 간결한 조건문은 변경 사항 적용이 쉽습니다버.. 2025. 5. 17. [리팩터링 2판] JavaScript 리팩터링 도서학습 #5 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다.이번 포스팅에선 Chapter09의 내용에 대해 다룹니다. 9장에서 소개하는 주요 리팩터링 기법들을 요약하고 예제와 함께 정리했습니다. Chapter09 데이터 조직화 1.변수 쪼개기2.필드 이름 바꾸기3.파생 변수를 질의 함수로 바꾸기4.참조를 값으로 바꾸기5.값을 참조로 바꾸기6.매직 리터럴 바꾸기 데이터 조직화의 효과 명확성 향상: 데이터 구조와 변수 사용이 명확해져 코드 이해도 증가가변성 제어: 변수의 값이 변경되는 지점을 최소화하여 예측 가능성 높임오류 감소: 데이터 의존성과 변경 지점이 명확해져 오류 발생 가능성 감소계산 투명성: 데이터가 어떻게 도출되는지 명확하게 표현하여 유지보수성 향상디버깅 용이성: 데이터 흐름이 명확해.. 2025. 5. 15. [리팩터링 2판] JavaScript 리팩터링 도서학습 #4 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다. 이번 포스팅에선 Chapter07, Chapter08 의 내용에 대해 다룹니다. Chapter07 캡슐화 Chapter08 기능 이동 7,8장에서 소개하는 주요 리팩터링 기법들을 요약하고 예제와 함께 정리했습니다.Chapter07 캡슐화 1.레코드 캡슐화하기 2.컬렉션 캡슐화하기 3.기본형을 객체로 바꾸기 4.임시 변수를 질의 함수로 바꾸기 5.클래스 추출하기 6.클래스 인라인하기 7.위임 숨김하기 8.중개자 제거하기 9.알고리즘 교체하기 캡슐화의 효과 변경 영향도 최소화: 내부 구현 변경 시 클라이언트 코드 영향 감소 코드 품질 향상: 책임 분리로 응집도 높이고 결합도 낮춤 유지보수 용이성: 명확한 책임 분배로 .. 2025. 4. 24. [리팩터링 2판] JavaScript 리팩터링 도서학습 #2 해당 내용은 위의 책의 내용을 제가 이해한대로 정리해둔 내용입니다.이번 포스팅에선 Chapter04 ~ Chapter05 의 내용에 대해 다룹니다. Chapter04 테스트 구축하기Chapter05 리팩터링 카탈로그 보는법 Chapter04 테스트 구축하기 리팩토링의 전제 조건으로 자가 테스트 코드(self-testing code)를 강조합니다. 리팩토링은 프로그램의 겉보기 동작을 보존하면서 내부 구조를 개선하는 작업이기 때문에, 동작이 보존되었는지 확인할 수 있는 견고한 테스트가 필수적입니다. 리팩터링을 제대로 하려면 불가피하게 저지를 실수를 잡아주는 견고한 테스트 스위트(test suite)가 뒷받침 돼야한다.좋은 테스트를 작성하는 일은 개발 효율을 높여 준다. * 개인적으로 본인도 아직은 테스.. 2025. 3. 29. JS 모듈 modules (ES6) Vue를 최근에 학습하는 중에 import , export 키워드가 많이 보였고 ES6문법이라 그런가... 조금 생소한 느낌이 많이 들어서 해당 내용을 간략하게 정리해보고자 합니다. 2021. 6. 13. 이전 1 다음