아키텍처
장기 유지보수를 위한 설계
"이 기능을 몇 년 뒤에도 유지보수하려면 어떻게 설계해야 할까요?"라는 질문을 받았습니다. 최근에 만든 기능 하나를 예로 들어, 시간이 지나도 고치기 쉬운 구조를 만들기 위해 무엇을 기준으로 결정했는지 설명해 주세요.
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
"이 기능을 몇 년 뒤에도 유지보수하려면 어떻게 설계해야 할까요?"라는 질문을 받았습니다. 최근에 만든 기능 하나를 예로 들어, 시간이 지나도 고치기 쉬운 구조를 만들기 위해 무엇을 기준으로 결정했는지 설명해 주세요.
유지보수성은 '변경 이유가 다른 것을 분리'하고 '실수를 컴파일러와 테스트가 잡게' 만드는 데서 온다. 경계에 프로토콜을 두어 교체 가능하게, 상태는 enum·불변 값으로 명시적으로, 핵심 규칙은 순수 함수 단위 테스트로 고정한다.
아키텍처주관식기초
MVC로 잘 돌아가는 앱에 MVVM을 도입하자는 제안을 받았습니다. MVVM이 MVC와 근본적으로 다른 점은 무엇인가요?
#testability
아키텍처주관식기초
의존성 주입(Dependency Injection)과 의존성 역전 원칙(Dependency Inversion Principle)은 이름이 비슷한데 무엇이…
#testability
아키텍처객관식기초
AnalyticsManager.shared처럼 코드 곳곳에서 직접 참조하는 싱글톤이 있는 코드베이스에서, 이를 쓰는 뷰모델을 단위 테스트하려 합니다. 올바른…
#testability
아키텍처주관식입문
여행 앱에서 전역 SessionManager.shared가 인증, 캐시, 분석, 실험 값을 모두 들고 있어 테스트가 어렵습니다. Singleton으로 남겨도…
#testability