확장성을 고려한 프로그램 개선: 전극 타입별 객체 생성 최적화(3D Mesh 생성 Builder Pattern)

junbeom·2024년 11월 12일

문제해결

목록 보기
1/2

1. 프로젝트 배경 및 목표

초기 코드에서 전극의 타입별로 여러 생성자를 오버로딩하고 각 객체를 생성하는 방식으로 설계가 이루어졌습니다. 초반에는 명확한 요구 사항과 정해진 규격에 맞춰 기능이 안정적으로 작동했지만, 프로그램이 점차 업데이트되면서 새로운 요구 사항이 추가됨에 따라 기존 설계의 한계가 명확해졌습니다. 확장성과 유지보수성을 보장하는 설계가 필수적이라 판단하여, 근본적인 코드 개선을 검토하게 되었습니다.

초기코드(아래)


2. 문제 분석 및 해결 방안

초기 코드에서 발견된 주요 문제점은 다음과 같습니다:

  1. 객체 관리 문제: 전극의 모양별로 객체 관리를 위한 구조가 부족하여, 각 타입의 전극 객체를 효율적으로 관리하기 어려웠습니다.

  2. 과도한 생성자: 생성자가 많아지면서 코드의 가독성이 떨어졌으며, 코드 유지보수에도 부담이 생겼습니다.

  3. 복잡한 메소드 호출: 메소드 호출 케이스가 너무 다양하게 분산되어 있어 코드의 흐름을 한눈에 파악하기 어려웠습니다.

  4. 확장성 부족: 프로그램이 점점 확장되면서 요구사항 변경 시 코드 수정이 불가피해졌습니다.

이러한 문제를 해결하기 위해 빌더 패턴을 도입하여 각 단점을 보완하고 프로그램의 확장성을 확보했습니다.


3. 구현 과정과 기술 스택

  • 빌더 패턴 적용: 빌더 패턴을 사용해 전극 객체 생성을 체계화하였습니다. 이를 통해 객체 생성을 더 명확하게 하고, 각 전극 타입에 맞는 생성 옵션을 유연하게 처리할 수 있도록 개선했습니다.
  • 코드 설계 리뷰: 초기 코드를 통해 소장님과 협의한 결과, “프로그램 확장성이 부족해, 향후 요구사항에 따라 코드 수정이 불가피할 것”이라는 점을 피드백했습니다. 이에 따라 빌더 패턴을 적용한 개선안을 제안하고 검토를 거쳐 적용하게 되었습니다.
  • 단순화된 생성 구조: 생성자 오버로딩의 필요성을 줄이고 각 전극 타입별 특성을 반영한 객체 생성이 가능하도록 설계를 단순화했습니다.

4. 성과 및 지표

코드 개선 후 얻어진 주요 성과는 다음과 같습니다:

  • 유지보수성 향상: 기존에 비해 객체 생성 방식을 일관되게 통제할 수 있어 코드의 가독성과 유지보수성이 크게 개선되었습니다.
  • 확장성 확보: 요구사항이 추가되더라도 기존 코드 구조를 변경할 필요 없이 확장이 가능해졌습니다.
  • 효율적인 객체 관리: 전극의 모양에 따라 객체가 체계적으로 생성되어 관리가 용이해졌습니다.
  • 코드 복잡도 감소: 메소드 호출이 단순화되어, 코드 흐름이 명확해졌습니다.
    (전)

    (후)

5. 향후 계획 및 비전

이번 개선을 통해 전극 타입별 객체 생성 구조가 확장성을 고려한 형태로 전환되었습니다. 앞으로도 빌더 패턴과 같은 디자인 패턴을 적용하여 코드의 유지보수성과 확장성을 지속적으로 개선할 예정입니다. 향후 새로운 전극 타입이나 요구사항이 추가되더라도 코드 수정 없이 효율적으로 대응할 수 있는 시스템을 구축해 나가겠습니다.


마무리

"이번 코드 개선은 단순한 기능 확장이 아닌, 프로그램 전반의 확장성과 유지보수성을 고려한 근본적인 접근이었습니다. 앞으로도 기술적 혁신을 바탕으로 한 사용자 중심의 개선을 통해 더욱 강력하고 유연한 프로그램을 제공하겠습니다."

0개의 댓글