우리는 <클린 코드>라는 개념을 배웠습니다. <클린 코드>에 대한 감각을 익히기 위해서는 어떤 코드가 좋은 코드이고, 어떤 코드가 좋지 않은 코드인지 이론적인 배경을 학습하는 것도 중요할 뿐 아니라, 다양한 코드를 읽어 보며 어떤 부분이 읽기 쉬웠는지, 어떤 부분이 읽기 어려웠는지, 읽기 어려운 부분은 어떻게 고치면 좋을지 경험해보는 과정이 필요합니다.
이번 과제는 제시된 코드를 읽어보며, 코드를 더 좋은 코드로 고쳐나가는 과정입니다. 구글에 “클린 코드” 혹은 “클린 코드 정리”를 키워드로 검색해보면, 이론적인 배경을 충분히 찾아보실 수 있습니다. 🙂 그러한 내용들을 보며 제시된 코드를 더 좋은 코드로 바꿔보세요! (코드를 바꿀 때 왜 바뀐 코드가 더 좋은 코드인지 다른 사람에게 설명하신다고 생각해보시면 더욱 좋습니다.)
[제시된 코드]
- 여러 함수로 나누어도 좋습니다! 🙂
- 여러 클래스로 나누어도 좋습니다! 🙂


클린 코드의 주요 원칙
- 의미 있는 변수와 함수 사용
- 변수와 함수는 사용 문맥에 맞게 명확하게 명명되어야 한다.
- 이를 통해 코드의 이해가 쉬워지고 버그 발생 가능성이 줄어든다.
- 가독성 좋은 코드 작성
- 코드는 나중에 다른 사람이나 자신이 읽기 쉽게 작성되어야 한다.
- 의미 있는 변수명, 함수명, 클래스명 등을 사용하여 코드의 의도를 명확하게 전달해야 한다.
- 주석을 필요할 때만 활용
- 코드의 의도나 중요한 부분에 주석을 추가해 다른 개발자가 코드를 이해하는 데 도움을 줄 수 있다.
- 하지만 주석이 필요한 경우 주석을 추가하는 것보다는 코드 자체로 의도를 명확히 드러내는 것이 좋다.
- 간결한 코드 유지
- 불필요한 코드는 피하고, 간결한 코드를 유지해야 한다.
- 간결한 코드는 버그를 줄이 유지 보수를 용이하게 만든다.
- 모듈화 수행
- 코드를 작은 모듈로 나누어 각 모듈이 특정 기능이나 역할을 수행하도록 해야 한다.
- 이는 코드의 재사용성을 높이고 유지 보수를 쉽게 만든다.
- 테스트 가능한 코드 작성
- 클린 코드는 테스트가 쉽게 가능한 구조여야 한다.
- 테스트 케이스를 작성하고 유지 보수할 때 테스트가 도움이 되도록 코드를 작성하는 것이 중요하다.
- 테스트 가능성을 고려한 코드는 주로 모듈화, 의존성 주입, 인터페이스 활용 등을 통해 적용할 수 있다.
출처 : https://yozm.wishket.com/magazine/detail/2415/