
오늘 한 일
- 데일리 스크럼
- 그룹 리뷰 및 주간 회고
- 이번 조원들과는 각자의 페어와 함께 페어 프로그래밍을 하느라 줌에서 모각코하는 시간이 없었다. 그래서인지 스크럼과 그룹 리뷰 시간에 활발하게 이야기를 했던 것 같다. 정보를 공유하고 잡담도 하면서 긴 시간은 아니었지만 즐겁게 이야기 할 수 있었다. 페어 프로그래밍을 통해 각자 느끼고 배운 점이 있었는데 각기 다른 사람이 각자의 스타일을 조금씩 내려놓고 협업을 위해 한 발씩 물러서서 양보하는 모습이 인상 깊었다.
- 페어 프로그래밍
- 오늘은
제이
와 리팩토링, 테스트 코드 작성, 리드미 작성을 함께해보았다. 1, 2단계 미션을 제출하는 시점에서도 구조가 좋다고 생각했지만 미션을 진행하면서제이
가 구조에 대해 계속 고민을 했다. 하나씩 차근 차근 살펴보니 책임을 여러 개를 가지고 있는 객체가 있어 객체를 분리시켜 책임을 위임시켜주었다. 이런 과정을 통해 객체의 책임과 역할에 대해 깊이 고민해볼 수 있어서 좋았다.객체지향 사실과 오해
를 읽고 있는데 객체 지향에 대한 개념이 머리 속에 추상적으로 자리하고 있던 걸 미션을 리팩토링하면서 구체화 해볼 수 있어 나에게는 많은 공부가 되었다. 페어를 진행하면서제이
스스로도 불편한 점이 많았을텐데 항상 먼저 괜찮았는지 여쭤봐주셔서 감사했다. 날을 거듭할수록제이
와의 협업의 합이 잘 맞아갔고 룰이 거의 없다시피했던 첫 날을 제외하고 체력적으로도 전혀 힘들지 않았다. 미션의 큰 그림은 모두제이
가 그렸기에 마스터즈코스 미션을 한 것 중에 가장 완성도가 있었고제이
가 그리는 과정을 옆에서 최대한 배우려고 했다. 한 주 동안 많은 걸 알려주고 성공적인 페어를 이끌어준제이
에게 감사 인사를 전합니다. 😆👍
- 오늘은
- 알고리즘
- 라이브 템플릿 설정
https://velog.io/@max9106/IntelliJ-Live-Template제이
가 페어 프로그래밍하면서 테스트 코드를psvm
sout
처럼 숏컷을 사용하여 만드는 걸 보여주셨다.라이브 템플릿
을 사용하면 편하게 할 수 있다는 꿀팁을 얻어서 곧장 설정해주었다 ㅎ_ㅎ
좋았던 점
- 미션 코드를 리팩토링하면서 객체의 책임과 역할에 대해 고민할 수 있어서 좋았다.
- 테스트 코드 작성할 때 @Nested 애노테이션을 이용해 테스트 결과를 좀 더 깔끔하게 보는 방법을 배울 수 있었다.
- given when then 을 이용하여 테스트 코드 작성하는 방법을 배웠다.
제이
와 페어 프로그래밍을 마지막까지 즐겁게 하여 마무리할 수 있어서 좋았다.
아쉬운 점
- 알고리즘이 어렵다? 오기가 생겨서 온갖 방법을 시도했는데 결국 풀지 못했다.
- 중요한 순서대로 계획한 것을 처리하지 않았다.
개선할 점
- 할 일 중 지금 가장 중요한 일부터 하자.
주간회고
이번 주 한 일
- 페어 프로그래밍
제이
와의 페어프로그래밍으로 협업이라는 게 어떤건지 느낄 수 있었다. 월요일의 페어 프로그래밍과 금요일에 하던 페어 프로그래밍을 생각해보면 많은 차이가 있다.그라운드 룰
이 생겼고 룰을 기반으로 역할을 바꾸고 충분한 휴식 시간을 가지며 윤택한 페어 프로그래밍이 가능했다. 또한 질문이 있거나 할 때도 페어가 불편해할까봐 못했었는데 그렇지 않다는 걸 알게 되어 질문도 편하게 할 수 있었던 것 같다. 🙄🤤
- 객체지향 사실과 오해
- 조영호님의 객사오를 읽으면서 OOP란 이런거구나라고 알 수 있었다. 객사오를 읽기 전엔 객체지향이 뭔지 감을 잡지 못해서 코드를 짤 때도 클래스 나누는거라던지 객체지향적인 게 어려웠다. 객사오를 읽고난 뒤 객체를 상태와 행동을 생각해볼 수 있게 되었고 객체 지향을 위해 어떻게 접근해야하는지 조금 알 수 있게 된 것 같다.
- 테스트코드 작성
- TDD는 아니지만 페어 프로그래밍으로 미션을 하면서 마지막에 테스트 코드 작성을 해보았다. 입력 값을 테스트 해보았는데 성공 케이스의 테스트와 예외를 발생시키는 테스트 작성을 해보았다. 페어 프로그래밍 시작할 때 호눅스가 내준 숙제로 계산기를 TDD를 만들어보면서 왜 TDD가 좋은지는 느꼈다. 하지만 아직 미션을 하면서 내가 TDD를 적용할 수 있을지 모르겠다. 그냥 테스트코드를 작성하는데 의의를 둬야할까.. 여러 비용을 생각하게 되고 지금 TDD를 적용하는데에 목적을 두는 게 좋은 건지 생각해보면 아직은 TDD를 해야겠다라는 답이 나오지 않는다 😵💫
소감
이번 주에는 페어 프로그래밍 중 리팩토링을 하며 제이
와 객체의 역할
과 책임
에 대해서 많은 이야기를 나눠보았다. 원래였으면 미션 구현하기에 급급해서 생각하지도 못했을 것들인데 제이
가 내비게이터 역할을 너무 잘해줘서 이런 고민을 해볼 수도 있었던 것 같다. 지금까지 한 미션 중에서 이번 주 미션이 가장 완성도가 있었지 않나 싶다.. ㅋㅋㅋ 웃프지만 그래도 이번 경험을 통해 코드를 보는 시야가 이전보다 넓어진 기분이 든다!
좋았던 점
원래 나는 계획을 무리하게 짜서 매일 매일 실패하는 생활을 한다. 이번주는 지금 내가 할 수 있는 수준에서 최선을 다 해보자며 한 주를 보냈던 것 같다. 객사오를 읽다가도 미루고 싶어질 땐 오늘 미루면 내일의 나도 분명 핑계를 찾으면서 미룰 게 뻔하기에 그냥 읽었다. 나의 이러한 행동이 꽤나 나쁘지 않았던 것 같다.
개선할 점
다음 주에는 학습거리를 찾으면 좀 깊이있게 찾아서 공부하고 정리해보는 경험을 해야겠다. 지난 사다리 미션 리뷰를 받았을 때 내가 얼마나 생각없이 코드를 짜고 있었고, 안다고 생각했던 게 알고보니 아는척 하고 있을 뿐이었다. 이 점을 보완하기 위해서 한 가지 주제가 있으면 직접 삽질하는 과정을 겪으면 머리 속 깊이 지식이 자리잡을 수 있을 것 같다.