우리는 <클린 코드>라는 개념을 배웠습니다. <클린 코드>에 대한 감각을 익히기 위해서는 어떤 코드가 좋은 코드이고, 어떤 코드가 좋지 않은 코드인지 이론적인 배경을 학습하는 것도 중요할 뿐 아니라, 다양한 코드를 읽어 보며 어떤 부분이 읽기 쉬웠는지, 어떤 부분이 읽기 어려웠는지, 읽기 어려운 부분은 어떻게 고치면 좋을지 경험해보는 과정이 필요합니다.

이번 과제는 제시된 코드를 읽어보며, 코드를 더 좋은 코드로 고쳐나가는 과정입니다. 구글에 “클린 코드” 혹은 “클린 코드 정리”를 키워드로 검색해보면, 이론적인 배경을 충분히 찾아보실 수 있습니다. 🙂 그러한 내용들을 보며 제시된 코드를 더 좋은 코드로 바꿔보세요! (코드를 바꿀 때 왜 바뀐 코드가 더 좋은 코드인지 다른 사람에게 설명하신다고 생각해보시면 더욱 좋습니다.)

[제시된 코드]

Untitled

Untitled

클린 코드의 주요 원칙

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

출처 : https://yozm.wishket.com/magazine/detail/2415/