LOG
- 도치와 페어프로그래밍 마무리 하다가 추상 팩토리 얘기 잠깐 했는데 구구가 그걸 왜 쓰냐고 해서 즉석 피드백 시간이 열렸다. 이번에 페어 프로그래밍할 때 생성자에서 매개변수를 좀 줄이고 싶어서 그 부분을 피드백 요청했다. 구구가 한 질문들이 굉장히 생각해볼만한 질문들이어서 좋았다. 우리가 쓴 것이 Controller인 것인지? Controller는 왜 써야 하는지? 전략 패턴을 사용한 이유는 무엇인지? 굳이 생성자의 매개변수를 줄일 필요가 있을지? LineStrategy가 util에 있는 이유는 무엇인지? 질문도 좋았지만 중간중간 구구의 인정을 받아서 기뻤다 ㅋㅋ
- 나는 구구의 피드백을 받을 때 말투가 날카롭다고 생각하지 않았는데 확실히 관점의 차이가 있는 것 같다. 아무래도 지피에 있을 때 자주 질문을 받아서 그런지 오히려 이정도는 좋은 피드백이라고 생각했다. 내가 말을 할 때도 날카롭게 질문하는 거라고 받아들이는 사람이 있을 수도 있겠다는 생각이 들었다. 좀 더 유하게 말하는 연습을 해봐야겠다.
배운 것
- 패키지를 결정할 때 해당 클래스가 어떤 역할을 하고, 어디서 사용하는지 고려해서 패키지를 정하자.
- 최대한 불필요한 것은 없애보자. (이건 구구의 견해일 수도 있다.)
- mermaid를 사용하면 클래스 사이의 관계와 프로그램 구조를 한 눈에 볼 수 있다. github readme에 쉽게 붙여넣을 수 있어 더 좋다.
궁금한 것
- 지금은 안 쓰이지만 나중에 필요할 것 같은 클래스를 미리 구현해놓는 것은 굳이 할 필요가 없을까? 이런 생각이 당연하게 "맞다/아니다"라는 답변을 내릴 수 있는 것인지, 단순 취향 차이인지 궁금하다. 구구는 내가 아직 경험이 많이 쌓이지 않아서 나중에 구현되면 좋을 클래스의 예시도 제대로 못 드는 상태에서는 안 쓰는게 낫다고 했지만, 다른 사람들의 견해도 궁금하다. 혹시 이 TIL을 보는 사람은 생각을 댓글로 달아주세요.
느낀 것
- 이번 미션에서 기능 구현 우선순위를 정해놓는 것이 좋겠다는 생각을 했다. 처음부터 설계를 완벽하게 하기보다는 점진적으로 만들어가는 애자일 방식으로 구현하는 게 미션을 빠르게 구현할 수 있는 방법 같다. 사실 부가적으로 구현되는 부분에 집중하다보니 메인 기능에 시간을 많이 못 쏟은 것 같아서 아쉽다.
- 지피에서 선배들, 후배들과 이야기하는 시간이 정말 많이 도움이 되었다는 생각을 새삼스럽게도 했다. 거기서 키워드도 주워 듣고, 건전한 토론을 하는 방법을 배울 수 있어 좋았던 것 같다. 앞에 나서는 연습을 했던 것도 많이 도움이 되었다. 모두 지피하세요 :)
- 예전에는 권위있는 사람의 말을 무조건 경청하려는 습관이 있었는데, 이제는 내가 의도했던 것들/내 생각을 좀 더 자유롭게 말할 수 있는 것 같아서 성장했다고 느꼈다. 포비가 말하는 '권위에 도전하라'라는 말을 실천한 것 같아 기분이 좋다 😄