-
9/16 TIL | 프로처럼 일하는 법.📝 기록/매일의 기록 2022. 9. 16. 19:10
가끔 TDD를 하다 보면 테스트를 위한 테스트를 만들게 되거나 테스트 코드를 짜다가 바빠 죽겠는데 무슨 테스트 코드야 하는 마음에 테스트 코드 작성 없이 기능 구현을 해버릴 때가 있다. 하지만 프로라면 그러면 안 된다. 물론 현재와 같이 굉장히 간단한 코드들을 작성하는 시점에서는 큰 문제로 발전하지 않지만, 만약 내가 현업에서 일하는 개발자라고 가정해보자. 내가 작성한 코드가 내가 실행하는 환경에서는 큰 문제가 없어 배포를 진행하였다. 근데 전체 프로덕션에 반영이 되고 나서 보니 이런저런 기능들이 깨지는 바람에 게시글 하나를 작성했는데 5개가 올라간다든지, 회원가입이 안된다든지 등 식은땀 줄줄 나는 상황들이 생기게 된다.
사실 그 기능을 구현하기에 앞서 테스트 코드만 작성했더라면 어땠을까? 테스트 코드는 작은 단위에서부터 테스트를 체크하고 통과하면 넘어가는 식으로 점진적으로 작성을 한다. 이렇게 내가 테스트 코드를 작성하는 과정을 통해 다양한 케이스들을 검증할 수 있고, 그렇다면 게시글이 5개가 올라가버린다든지, 회원가입이 안 되는 경우가 발생하지는 않았을 것이다. 방금의 경우에도 큰 문제이긴 하지만, 이번엔 내가 자동차 엔지니어라고 생각해보자. 내가 내부 프로그램을 프로그래밍할 때 테스트 케이스를 여러 방면으로 확인해보지 않아 기계에 결함이 생기게 된다면 엄청난 인명 사고를 일으킬 수도 있는 것이다.
누군가는 너무 넘겨 짚어 생각하는 거 아니냐 싶을 수도 있지만, 나는 그렇지 않다고 생각한다. 프로인지 아마추어인지를 결정하는 것은 이런 사소한 태도의 차이에서 온다고 생각한다. 또한 프로는 장인 정신을 가지고 일을 한다. 여러 방면에서 나의 작업물을 세밀하게 다 따져보고, 내 코드에 문제가 더 이상 없는지, 그리고 이게 최선인지 계속 고민을 거듭하는 과정을 반복한다.
그런 프로가 되기 위해서 나는 오늘부터 다양한 테스트 케이스를 생각하고 작성하여 검증 후 기능을 구현하겠다. 그리고 항상 이게 최선인지 더 나은 방법이 있지는 않은지 끊임없이 고민하겠다. 그러다 보면 자연스럽게 프로의 근처에라도 갈 수 있지 않을까 하는 기대를 해본다.
'📝 기록 > 매일의 기록' 카테고리의 다른 글
9/18 TIL | '굳이?'라는 마음을 이겨낸다는 건. (1) 2022.09.18 9/17 TIL | 멱등성은 무엇인가. (0) 2022.09.17 9/15 TIL | 코딩 테스트에 TDD 적용해보기! (부제: What I Ate Today😋) (1) 2022.09.15 9/13 TIL | 람다식에서는 왜 final, effectively final 변수만 사용해야 하는가?🧐 (0) 2022.09.13 9/12 TIL | 연휴 끝. 동등성 이해하기! (0) 2022.09.12