Claude Code를 전문적인 소프트웨어 엔지니어링에 어떻게 활용하시나요?
How do you use Claude Code for professional software engineering?
핵심 요약
Claude Code가 OOP나 디자인 패턴을 무시하고 스파게티 코드를 짜는 문제에 대해 개발자들이 각자의 해결책을 공유합니다.
- 설계 중심 개발 — 코딩 전 명세와 설계를 먼저 검토함
- 추상화의 함정 — 과도한 패턴 적용보다 테스트와 유지보수에 집중함
- 프롬프트 전략 — CLAUDE.md 대신 스킬(Skills) 기능을 활용함
- 코드 품질 논쟁 — 완벽한 코드보다 기능 구현과 속도를 우선시함
다들 안녕, 나 Claude Code 쓴 지 벌써 5개월째다. 제품 자체는 괜찮고 LLM 성능도 꽤 탄탄한데, 한 가지 문제 때문에 계속 골치가 아프네. 바로 Claude가 '프로페셔널 소프트웨어 엔지니어' 같지가 않다는 거야. 이게 무슨 말이냐면, 내가 대충 뭘 해야 할지 계획을 적어주면 Claude는 항상 기능별로 메서드만 주구장창 정의하고 OOP는 아예 갖다 버려. 디자인 패턴도 전혀 안 써서, 코드를 다 짜놓으면 내가 일일이 코드 한 줄 한 줄 보면서 "여기 '@folder_path'에는 팩토리 패턴을 쓰는 게 낫지 않겠어?"라거나 "이 메서드들로 인터페이스 정의하고, 구현한 로직은 클래스로 빼고, X를 위한 클래스도 만들어" 같은 식으로 훈수를 둬야 해.
CLAUDE.md 파일에 OOP 원칙이랑 SOLID 원칙 지키고, 필요할 때 디자인 패턴 쓰라고 지침도 넣어봤는데, 어떤 때는 그냥 씹어버리고 또 어떤 때는 뇌절해서 사소한 것까지 다 클래스로 쪼개버리더라고. 다들 Claude Code를 그냥 재미로 '바이브 코딩'하는 거 말고, 진짜 실무에서 써본 경험 좀 공유해 줄 수 있냐? 내가 Claude Code로 개발할 때 제일 걱정되는 게 확장성 있는 솔루션을 만드는 건데, 지금은 작동은 해도 나중에 읽기도 힘들고 이해하기도 어려운 스파게티 코드가 나오거든. (나중에 AI 에이전트가 코드를 읽을 때도 마찬가지겠지.)
