유튜브 리뷰 - 코딩의 실 아샬(03/15)

완벽한 코드란 이런 것!

  • 완벽한 코드를 만들 수 없다.

  • 충분히 괜찮은 코드를 작성하고, 더 개선할 수 있도록 만들어야한다.

  • 좋은 코드 == 고칠 수 있는 코드
    • 테스트 코드가 있어야한다.
    • 의도가 드러나야한다.
  • 그래서 TDD를 한다.

    • TDD를 해야 코드에 의도가 잘 드러나기 때문이다.
    • 문제를 차근차근 해결하는 과정, 순차적인 접근 등 의도가 TDD에 잘 드러나있다.

    • TDD에서 가장 중요한것은 단순히 책보고 따라하는것이 아닌 나의 문제를 해결할 때 적용할 수 있는 능력이다. 즉, TDD적인 사고방식을 키워야한다.
  • 유지보수가 잘 되는 코드가 완벽한(좋은) 코드라고 말하고 있다.
  • 그리고 그걸 위해서 TDD가 중요하다고 말한다.
  • TDD가 확실히 문제를 순차적으로 접근하기에 좋은 방법이라고 생각한다. 아직 실제 프로젝트에 적용하는 단계까지는 아니고 단순히 간단한 문제를 풀 때 케이스를 나누어서 A상황때는 어떤 결과가 나오는 테스트를 만들어서 테스트해보고, 또 거기에 플러스에서 만약 B상황에서는 좀 다른 결과가 나오는데? 또 B에 대한 테스트를 만들어서 A,B 모두 적용되게 코드를 리팩토링하고.. 이렇게 step step 밟아가다보면 해결하려는 문제가 완성되어있다. (아직은 문제 해결까지만 되고 좀 더 깔끔한 코드를 만드는건 잘 되지 않지만)
  • 처음에 TDD를 접했을때는 이게 도움이 되는건가? 테스트가 필요한게맞나? 이런생각이 계속 들었는데 그냥 무의식적으로 하다보니 좋은점을 느낀다. 굳이 이렇게 해야하나?라고 생각했던것들이 지금은 굳이 테스트케이스 없이 돌려야하나? 테스트 만들어보는거 오래걸리지않는데 그냥 만들어봐도 되잖아? 라는 생각으로 점차 바뀌고있다.

댓글남기기