ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS 알고리즘&자료구조] 되돌아보기와 리팩터
    JavaScript/Basic 2023. 11. 2. 00:57

    앞의 모든 단계를 거쳐왔다면 문제에 대한 해결책이 나온 상황일 것이다. 그렇다면 이제 모든 게 끝났으니 우리는 편히 쉬면 된다. 게임을 하고 취미 생활을 즐기면 된다.... 라고 생각하면 좋겠지만 아직 진짜 끝난 것은 아니다. 😒

    우리에게는 아직 리팩토링이라는 단계가 남아있다. '이미 코드는 멀쩡히 동작하고 원하는 결과값도 잘 뱉어내는 데 굳이..?' 라는 생각이 들 수 있다. 충분히 공감할 수 있는 생각이고 이미 다 끝났다고 생각된 마당에 귀찮게 느껴질 수 있지만 작성한 코드를 다시 한번 점검하고 더 효율적이고 이해하기 쉽게 바꾸는 것은 굉장히 중요하다.

    대부분의 사람들이 리팩토링의 목적을 코드를 더욱 효율적으로 하는 것이라고만 생각하지만 가독성도 고려해야 한다는 사실도 인지해야 한다. 효율성과 가독성의 균형을 잘 맞춰서 코드를 수정해야하는 것이다.

    그렇다면 리팩토링을 위해 스스로에게 던질 수 있는 몇 가지 질문들을 살펴보자.

    • 원하는 결과가 제대로 나오는가?
    • 다른 방법으로도 같은 결과가 나오게 할 수 있는가? 다른 방법이 존재하는가?
    • 한 눈에 이해가 가는 코드인가?
    • 해결책을 다른 방법에도 적용시킬 수 있는가?
    • 해결책의 성능을 향상시킬 수 있는가? (시간 복잡도와 공간 복잡도를 기준으로)
    • 코드를 개선할 수 있는 다른 방법이 있는가?
    • 다른 개발자들은 해당 문제를 어떻게 해결했는가?
      다른 사람들이 해결한 방법을 살펴보는 것을 통해 문제를 해결하는 데 필요한 시야를 넓힐 수 있다.


    위의 질문들을 통해 짜여져 있는 코드에 문제는 없는지 충분히 효율적인지 확인할 수 있다. 리팩토링을 한다고 해서 꼭 코드를 고치라는 말은 아니다. 본인이 짠 코드를 분석하고 성찰하고 돌아보는 것도 리팩토링이라고 할 수 있다. 이미 코드가 충분히 훌륭하다면 고칠 필요는 없다. 

    위에서 말했다시피 리팩토링은 아주 중요하다. 본인이 짠 코드를 꼭 시간을 들여 리팩토링할 수 있기를 바란다.

    댓글

Designed by Tistory.