본문 바로가기

리팩토링

(2)
[MeMind 리팩토링] 2. OCP 원칙 적용하기 ▽ SRP 원칙을 적용하는 과정은 이전 포스팅을 참고해주세요!! ▽ [MeMind 리팩토링] 1. SRP 원칙 적용하기 비즈니스 로직을 포함하는 Service 디렉토리의 코드에 SRP 원칙 (단일 책임 원칙)을 적용해보려고 한다. 1. 기존 코드 분석 # service/talk.py """ ChatGPT와의 API 통신을 통해 대화하는 로직 """ from fastapi impo it-is-my-life.tistory.com 1. 기존 코드 분석 이전 포스팅에서 SRP 원칙까지 적용 완료된 코드의 가장 큰 문제점은 비슷한 일을 하는 클래스들이 너무 많다는 것이다. # 월별 Conversation 조회 class MonthlyConversationLoader: def __init__(self, sessio..
[MeMind 리팩토링] 1. SRP 원칙 적용하기 0. 리팩토링을 시작한 이유 본격적인 리팩토링을 시작하기 전에, 리팩토링을 해야겠다라고 생각한 계기를 간단히 얘기해보려고 한다. 조코딩 AI 해커톤에 참여하고 운이 좋아서 수상까지 하게 되었지만, 개발을 하고 운영을 하는 내내, 내 코드가 불안하다는 느낌을 지울 수가 없었다. 프론트에서 뭔가 에러가 나면, 기억에 의존해서 코드를 찾아가며 고치는 일이 잦았고 뭔가 구조를 가지고 단단하게 코드를 짜는 느낌이 들지 않았다. 그래서 객체지향 프로그래밍의 개발 원칙인 SOLID 원칙을 적용하는 것부터 테스트 코드, 시스템 아키텍처까지 천천히 그러나 꼼꼼하게 리팩토링 해보려고 한다. 포스팅 내에는 분량 상, 일부 파일의 코드만 올라갈 예정이고 만약 전체 디렉토리 및 코드를 보고 싶다면, 아래 깃허브를 참고해주시길!..