ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • '큰 일을 하기 위해 지금 할 수 있는 것부터 한다'
    Today I Learned 2022. 9. 12. 23:57

     

    며칠 전에 아버지께서 해 주신 말이다.

     

    요즘 이전보다 좀 더 적극적으로 적용해보려 하고 있는 테스트 주도 개발 방식에서 이야기하는 것과도 들어맞는다는 생각이 들어 의식적으로 기억에 남겨놓고 있다.

     

    오늘은 큰 단위의 작업을 작은 단위의 부분으로 쪼개고, 쪼개진 부분을 테스트 작성해 테스트를 통과시키는 방식으로 수행하기 위해 노력했다. 가능한 이번 주 동안은 무언가를 할 때 이 방식을 이용해야 함을 계속해서 의식적으로 상기시키려고 한다.

     

    그렇다면 오늘 이 프로세스를 나는 얼마나 잘 따랐을까? 오늘 완전히 새롭거나, 그렇게 느껴지게 접한 것으로는 크게 코딩 도장, 퀘스트 과제가 있었다.

     

    코딩 도장

    오늘 풀었던 신고 결과 받기 문제는 사실 한 달 반 전쯤에 풀었었던 문제였기 때문에 큰 흐름은 머릿속에 남아있었지만, 세세한 내용은 바로 기억나지 않았다. 그래서 그 생각나는 흐름대로 메서드를 정의하고, 메서드의 구현을 테스트 코드를 작성하고 테스트 코드를 통과시킬 수 있는 소스코드를 작성하는 데 집중했다.

     

    어제 글을 작성할 때도 느껴지는 바가 있었는데, 테스트 코드를 작성하는 과정이 사실 그 작은 부분의 소스코드가 어떻게 구성되어야 할 것인지 논리를 먼저 잡아주는 가이드라인의 역할을 해주는 것 같다는 생각이 들었다. 그 부분에서 풀어야 하는 문제의 규모는 상대적으로 작기 때문에 가이드라인을 잡기도 어렵지 않고, 그렇게 구성한 가이드라인을 따라 소스코드를 작성하기 때문에 논리 구조를 잡는 데 테스트 코드가 정말 큰 도움이 되고 있다는 생각이 들었다. (다만 아직도 문법 실수가 많아서 문법 실수만 좀 줄인다면 풀이 속도나 소스코드 작성 속도를 높이는 데 더없이 좋을 것 같다.)

     

     

    퀘스트

    아침 8시에 올라온 퀘스트를 봤을 때 덩어리가 정말 엄청나게 크다고 느껴졌다. 그래도 덩어리를 쪼개고 하나씩 구조를 세워 나간다면 도전해볼 만할 것이라고 생각했다. 오늘은 일단 컴포넌트 구조를 세우고, 각 컴포넌트의 최소 기능과 핵심 객체부터 구현해보는 것으로 가닥을 잡았다. 마찬가지로 모든 과정은 테스트 코드를 (테스트 코드의 범위가 좁던, 넓던 일단) 작성하면서 구현을 시도했다.

     

    컴포넌트의 구조는 일단 일차적으로 세웠고, 최소 기능과 핵심 객체는 구현을 진행하는 중에 있다. 테스트 코드를 작성하면서 또 느낀 점이라면, '테스트 코드를 통과하는 것은 적어도 그 테스트 코드 범위까지의 논리는 확실함을 보장한다'는 느낌이 있었다. 그렇기 때문에 해당 테스트를 통과했기 때문에 다른 테스트를 작성하고 수행하는 데 뒷걱정을 할 일이 적어지고, 테스트가 부족하다면 좀 더 채워넣으면서 논리를 더 확실히 쌓기 때문에 진행도가 쌓일수록 심리적으로 조금씩 안정감이 쌓여간다는 느낌을 받았다.

     

     

    아쉬웠던 점

    열흘 정도 이어오던 뽀모도로 시트 작성을 오늘은 거의 하지 않았다. 다른 이유가 있었던 것은 아니고 손이 잘 가지 않았다. 뽀모도로 시트를 의식하고 오늘도 작성했었더라면 테스트 코드를 작성하는 과정에서 범위를 너무 크게 가져갔다던가, 어떤 부분은 무의식적으로 소스코드를 먼저 작성했다던가 하는 부분을 그때그때 돌아보면서 캐치하고 교정을 시도할 수 있지 않았을까 싶다.

     

     

    액션 플랜

    작은 단위의 테스트 코드를 작성하는 과정에 믿음을 갖고 계속해서 상기한다. 뽀모도로 종료 후 점검 때마다 작업 단위를 어떻게 작게 나누고 테스트를 작성하려 했는지 돌아본다.

     

     

     

    댓글

Designed by Tistory.