ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그램이 무엇을 해야 하는지 그림을 그리는 과정
    Today I Learned 2022. 9. 24. 23:59

     

    '?'

    아침에 든 생각이었다.

    보고 나서 몇 분 정도 멍하니 있다가, 정신이 번쩍 들고 몸을 움직이기 시작했다.


    정말 많았다.


    일요일 밤까지의 그림이 여럿 그려졌다. 나름 세워놓고 있던 여러 계획들의 우선순위가 즉시 착착 정리되었다. 그 동안처럼 집에 혼자 있어서는 안 되겠다는 생각이 즉각적으로 들었고, 동료분을 만나 같은 자리에서 하루종일 해야 할 일을 했다. 보고, 필요한 내용을 정리하기를 반복했다.

     

     

    프로그램이 무엇을 해야 하는지 그림을 그린다

    Spring 프로젝트를 설계하기 전인 axios를 이용해 요청을 하고, service 혹은 server의 동작을 mocking해 테스트 코드를 작성하는 부분까지 강의를 보았다.

    Layer의 차이에 따라 동작의 차이는 있을 수 있겠지만, 프론트엔드 영역에서의 테스트 코드와 그 테스트 코드를 구현하는 소스코드의 작성하면서 초점을 맞추고 있는 부분은 '프로그램이 해야 하는 역할을 명세하고, 그 역할을 수행하기 위해 프로그램이 주고받아야 하는 동작과 데이터의 구체적인 양식을 정의하는 것'이라는 느낌이 들었다.

    아무것도 없는 영역에서 Layer 구조를 나누는 것은 어려울 뿐더러 당위성도 마땅치 않다. 구체적인 인터페이스가 테스트 코드를 작성하면서 명세되면 관심사가 생기고, 관심사의 영역을 침범하는 부분을 그때부터는 구분해야 하는 이유가 생기고, 구조화하는 작업을 직접적으로 시작할 수 있는 것 같다.


     

    여담

    한 달 전까지만 해도 1~2주에 몇 번은 자주 하던 그것을 하러 나가곤 했다. 몇 주 전인가에는 고뇌에 빠져서 동네 사진을 찍어 올리던 때가 있었다. 그때의 나는 들어라.

    '가지 마!!! 너 지금 내가 어떻게 되는지나 알고 그러는 거야? 돌아와!! 지금 내 외침이 들리지 않는거야???'
    '너 지금 행복하게 공부하고 있는 거야!! 스트레스 받지 말고 그만 돌아와!!!'



    아쉽지만 들리겠나. 사실 들었다고 해도, 직접 맞아보기 전이라 듣는둥 마는둥 그냥 나갔겠지.
    그래도 한번 맞고 나니 이제는 더 늦기 전에 이것만을 바라봐야 한다는 사실을 잘 알게 되었다.
    맞아야만 깨닫는 것인가...


     

    댓글

Designed by Tistory.