레벨 1의 첫 미션은 사다리 게임 만들기 였다.
그 중 2주차에 할 일은 사람 수 만큼의 출발점을 가진 사다리의 형태 만들기였다.
온보딩이 끝나고 본격적인 레벨 1이 시작함에 따라 페어 프로그래밍을 진행할 페어도 변경되었다.
이번 주도 페어 프로그래밍과 리뷰, 피드백을 통해 여러가지를 배울 수 있었다.
getter의 이름
이번 리뷰에서 첫 번째로 충격받은 내용..! 게터의 메서드명은 명사를 사용해도 괜찮다
지금까지는 게터도 메서드이기 때문에 무조건 동사형태로 네이밍을 해야한다고 생각했다.
리뷰를 받고 몇몇 메서드 이름을 명사로 고쳤더니 훨신 알아보기 쉬운 코드가 되었다.
몇가지 예를 들면 Name
이라는 객체 리스트를 감싼 일급 컬렉션 Names
에서 Name
의 갯수를 가져오는 메서드를 지금까지는 getSize()
라고 썼다면, size()
로 메서드 이름을 바꿈으로 List<Name>
과 같은 역할을 하는 일급 컬렉션 인 것을 더 잘나타내줄 수 도 있다. (코드의 길이가 줄어드는건 덤이다.)
또 단순히 String 타입 값인 name
을 멤버 변수로 가지고 있는 래퍼 클래스 Name
의 경우에도 String 형태의 이름이 필요할 때 Name.getName()
보다는 Name.value()
처럼 적어주면 name
이라는 단어의 중복도 피할 수 있고, 래퍼 클래스라는 점도 더 잘 드러내줄 수 있다.
Enum 클래스에 책임 할당하기
사다리의 지나갈 수 있는 지점, 지나갈 수 없는 지점을 나타내는 Point
에 생성 책임을 쥐어줄 수 있다. 이를 통해 Point
를 여러개 가지고 있는 Line
이 더 이상 Point
의 생성 로직을 알 필요 없어진다.
상수와 비교했을 때 enum
이 가지는 장점인 메서드를 가질 수 있다. 를 잘 활용한 예시라고 할 수 있을 것 같다.
페어가 남겨준 소중한 피드백 …!
저 글을 보고 솔직히 많이 찔렸다.
나는 자바에서 사용하는 디자인 패턴에 대한 이해가 부족하다.
아니 거의 없는 편이다.
그런데 모르는 것을 말하는 것이 부끄러워서 또는 내가 모르는 것으로 토론하는 것이 거부감이 들어서 무작정 페어의 의견을 수용했다.
해결책은 간단하다. 페어 회고에 써있는대로 자료를 같이 찾아보거나 명확한 이유를 제시해달라고 말하기 .
나는 이 곳에 배우러 왔다는 사실을 잊지 말자!!
레벨 1이 되어 온보딩 조원들과 헤어지고 level 1 조와 데일리 미팅을 함께하게 되었다.
2주밖에 지나지 않았지만 사실 지금까지 만난 크루들이 다들 좋은 사람뿐이었기에 큰 걱정은 하지 않았다. 오히려 어떤 사람들일지 살짝 기대했었고, 실제로 데일리 미팅때 얘기해보니 다들 좋은사람이었다. 빨리 친해질 수 있을 것 같다.
요즘 시간관리를 너무 못하는 것 같다. 어딘가에서 시간이 줄줄 새는 느낌? 시간도 가계부를 적어서 관리해야하나 싶다. 뭔가 우테코 외에 다른 할 일들을 전혀 신경쓰지 못하고 있는 것 같아서 슬프다..
또 원래 주변 사람들을 잘 챙기는 편도 아닌데 우테코 시작하고 더 심해졌다.
이 부분도 더 바빠지기 전에 기준을 명확하게 할 필요가 있을 것 같아 공책에 따로 생각을 정리했다.
예상보다 오래 걸렸지만 나름 깔끔하게 정리된 것 같아 기분이 좋다.