
코드 리팩토링(Code Refactoring)
- 개념과 목적
- 기존의 코드를 수정하여 가독성, 유지보수성, 성능 등을 향상시키는 작업
- 코드의 품질을 향상시키고 개발자의 생산성을 높이는 데 도움
- 필요성
- 효율적인 코드 개선을 통해 버그를 줄이고 유지보수 시간 단축
- 효율적인 코드 리팩토링 실전 예시
- 중복 코드 제거
- 중복된 코드는 유지보수를 어렵게 만듦.
- 중복 코드를 함수나 클래스로 추출 -> 재사용성 높이고 코드의 가독성 향상
- 변수 및 함수명 명확화
- 의미있는 변수명과 함수명 사용 -> 가독성 향상, 이해하기 쉬운 코드
- 불필요한 조건문 단순화
- 알고리즘 최적화
- 시간복잡도 및 공간복잡도 고려 최적의 알고리즘 선택 및 사용
- 장점 / 주의사항
- 장점
- 가독성 및 이해도 향상
- 유지보수성 및 생산성 향상
- 주의사항
- 기존 기능의 변경 없이 코드의 개선에 집중
- 테스트코드 작성하여 코드의 정확성 보장, 기존의 기능 손상되지 않았는지 확인
- 코드의 안정성 유지
MVC패턴(Model-View-Controller Pattern)
- 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴
- 역할
- Model(모델) (ex. 요리사 : 식재료(데이터)를 가지고 요리(처리 결과)를 만들어냄)
- 데이터와 비즈니스 로직 처리
- 사용자가 편집하기를 원하는 모든 데이터
- View(뷰) (ex. 접시 : 요리사가 만든 요리를 담아 손님(사용자)에게 보여주는 역할)
- 사용자에게 보여지는 UI
- 데이터를 시각적으로 표현
- Controller(컨트롤러) (ex. 웨이터 : 손님의 주문(사용자이 입력)을 받아 요리사에게 전달, 요리사가 만든 요리를 접시에 담아 손님에게 가져다줌)
- 각각의 역할을 분담하여 일을 처리하면 전체적인 작업 흐름이 더욱 체계적이고 효율적이게 됨
- 장점
- 코드의 재사용성과 코드 관리 용이
- 코드의 분리로 인한 쉬워진 디버깅
- 개발자와 디자이너가 동시에 작업 진행
- 뷰 : 사용자 인터페이스, 모델/컨트롤러 : 비즈니스 로직
- 단점
- 설계 시간이 다소 걸림
- 간단한 어플리케이션에는 적합하지 않음
- MVC패턴은 크고 복잡한 프로그램에 적합, 간단한 프로젝트에는 오버킬