24.09.05(코드 리팩토링, MVC패턴)

jiiiiiiiArchive.·2024년 9월 5일

🤯지식주머니🤯

목록 보기
10/98
post-thumbnail

코드 리팩토링(Code Refactoring)

  • 개념과 목적
    • 기존의 코드를 수정하여 가독성, 유지보수성, 성능 등을 향상시키는 작업
    • 코드의 품질을 향상시키고 개발자의 생산성을 높이는 데 도움
  • 필요성
    • 효율적인 코드 개선을 통해 버그를 줄이고 유지보수 시간 단축
  • 효율적인 코드 리팩토링 실전 예시
    • 중복 코드 제거
      • 중복된 코드는 유지보수를 어렵게 만듦.
      • 중복 코드를 함수나 클래스로 추출 -> 재사용성 높이고 코드의 가독성 향상
    • 변수 및 함수명 명확화
      • 의미있는 변수명과 함수명 사용 -> 가독성 향상, 이해하기 쉬운 코드
    • 불필요한 조건문 단순화
      • 버그 발생 가능성 줄임
    • 알고리즘 최적화
      • 시간복잡도 및 공간복잡도 고려 최적의 알고리즘 선택 및 사용
  • 장점 / 주의사항
    • 장점
      • 가독성 및 이해도 향상
      • 유지보수성 및 생산성 향상
    • 주의사항
      • 기존 기능의 변경 없이 코드의 개선에 집중
      • 테스트코드 작성하여 코드의 정확성 보장, 기존의 기능 손상되지 않았는지 확인
      • 코드의 안정성 유지

MVC패턴(Model-View-Controller Pattern)

  • 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴
  • 역할
    • Model(모델) (ex. 요리사 : 식재료(데이터)를 가지고 요리(처리 결과)를 만들어냄)
      • 데이터와 비즈니스 로직 처리
      • 사용자가 편집하기를 원하는 모든 데이터
    • View(뷰) (ex. 접시 : 요리사가 만든 요리를 담아 손님(사용자)에게 보여주는 역할)
      • 사용자에게 보여지는 UI
      • 데이터를 시각적으로 표현
    • Controller(컨트롤러) (ex. 웨이터 : 손님의 주문(사용자이 입력)을 받아 요리사에게 전달, 요리사가 만든 요리를 접시에 담아 손님에게 가져다줌)
      • 사용자의 입력 처리
      • 모델과 뷰 연결
  • 각각의 역할을 분담하여 일을 처리하면 전체적인 작업 흐름이 더욱 체계적이고 효율적이게 됨
  • 장점
    • 코드의 재사용성과 코드 관리 용이
      • 개발과 유지보수 편리
    • 코드의 분리로 인한 쉬워진 디버깅
      • 오류가 발생한 해당 영역만 확인
    • 개발자와 디자이너가 동시에 작업 진행
      • 뷰 : 사용자 인터페이스, 모델/컨트롤러 : 비즈니스 로직
  • 단점
    • 설계 시간이 다소 걸림
      • MVC패턴 적용 위해 초기 설계 시간 필요
    • 간단한 어플리케이션에는 적합하지 않음
      • MVC패턴은 크고 복잡한 프로그램에 적합, 간단한 프로젝트에는 오버킬
profile
이것저것 다 적는 기록장📚

0개의 댓글