클린 코드
기술노트
🧹 클린 코드 (Clean Code)
클린 코드는 말 그대로 깨끗한 코드, 즉 다른 사람이 쉽게 읽고, 이해하고, 수정하고, 유지보수할 수 있도록 잘 작성된 코드를 의미합니다. 클린 코드는 단순히 동작만 하는 코드를 넘어, 가독성과 효율성, 확장성을 모두 고려한 코드입니다.
로버트 C. 마틴(Uncle Bob)의 저서 "클린 코드"를 통해 널리 알려진 개념입니다.
📜 클린 코드의 원칙
- 가독성 (Readability) : 코드는 다른 사람이 쉽게 읽을 수 있어야 합니다. 변수나 함수의 이름은 그 역할과 의도를 명확하게 드러내야 합니다.
- 단순성 (Simplicity) : 하나의 함수는 하나의 기능만 수행해야 합니다(단일 책임 원칙). 코드는 불필요하게 복잡하지 않고, 가능한 한 단순하게 작성되어야 합니다.
- 중복 제거 (Don't Repeat Yourself, DRY) : 동일한 코드가 반복해서 나타나지 않도록 해야 합니다. 중복된 코드는 함수나 클래스로 분리하여 재사용성을 높여야 합니다.
- 의미 있는 이름 : 변수, 함수, 클래스의 이름은 그 목적과 기능을 명확하게 설명해야 합니다. `a`, `b`, `temp` 와 같은 의미 없는 이름은 피해야 합니다.
- 일관성 : 코드의 스타일, 네이밍 컨벤션, 설계 패턴 등이 프로젝트 전체에 걸쳐 일관성을 유지해야 합니다.
🤔 왜 클린 코드가 중요한가?
> "코드를 읽는 데 걸리는 시간과 짜는 데 걸리는 시간의 비율은 10 대 1을 훌쩍 넘는다." - 로버트 C. 마틴
소프트웨어 개발의 전체 비용 중 유지보수에 드는 비용이 가장 큽니다. 클린 코드는 코드의 유지보수 비용을 크게 절감시켜 줍니다. 다른 개발자가 내 코드를 쉽게 이해하고 수정할 수 있다면, 팀 전체의 생산성이 향상되고 버그 발생 가능성도 줄어들기 때문입니다.
💡 정보처리기사 핵심 Point
- 클린 코드는 단번에 작성되는 것이 아니라, 지속적인 리팩토링을 통해 만들어집니다.
- 클린 코드는 정답이 있는 것이 아니라, 더 나은 코드를 작성하기 위해 끊임없이 고민하고 개선해 나가는 과정이자 태도입니다.
- 동료와의 코드 리뷰는 클린 코드를 작성하는 가장 좋은 방법 중 하나입니다. 다른 사람의 피드백을 통해 내가 미처 보지 못했던 부분을 발견하고 개선할 수 있습니다.
- 클린 코드를 작성하는 능력은 개발자의 전문성을 나타내는 중요한 척도입니다.