[회고] 우아한 테크코스 5기 프리코스 1주차 회고
본문 바로가기
우아한 테크코스

[회고] 우아한 테크코스 5기 프리코스 1주차 회고

by IYK2h 2022. 11. 3.
728x90

우아한 테크코스 5기 백앤드 프리코스 1주차가 끝이 났다.

기존에 프로젝트들을 진행하면서 놓쳤던 부분이 많았다고 느껴지는 한주였다.

 

한주간 주로 학습한 내용은 커밋 컨벤션과, 객체지향 생활체조 원칙이다.

 

커밋 컨벤션 - 유다시티의 커밋 메시지 스타일

프로젝트를 주로 혼자 진행하다 보니 커밋 메시지를 아무 규칙 없이 작성했다.
우테코가 지향하는 문화 중 하나는 유지보수가 용의한 코드이다.
이번에 커밋 컨벤션을 적용하면서 나뿐만 아니라 다른 사람이 git log를 봤을 때 이해하기 쉽게 작성하려고 노력했다.

 

사실 컨벤션을 적용하면서 놀랐던 건, 전체적인 흐름을 나도 쉽게 이해할 수 있었다.
오류가 났거나 다시 이전으로 되돌아가야 하는 상황이 생기면 git log를 보고 쉽게 돌아갈 수 있었다.

이러한 컨벤션을 적용하는 건 같이 개발하는 동료만을 위한 것이 아니라 나 자신을 위한 일이란 걸 알게 되었다.

 

아쉬운 부분은 메시지를 주로 영어로 작성하였는데, 제목이 길어지면 한글로 작성하거나, 모호하게 표현했다는 점이다.

제목은 영어로만 작성하거나, 명확하게 명령형으로 작성하는 등 통일성이 필요하다.

 

객체지향 생활 체조 원칙 - 소트웍스 앤솔러지 책의 일부분

9가지의 객체지향 생활 체조 원칙이 있다. 링크

 

이번 프리코스 1주차에 9가지 원칙을 최대한 지키면서 코드를 작성하였다.

9가지 원칙이 하나의 목표를 지향하고 있는데 그것은, 객체지향이다. 당연한 소리겠지만...

 

요약하면 원칙을 지키다 보면 혹은 지키려고 하면 객체지향의 4대 특성을 띠게 된다.

대부분 규칙은 데이터의 캡슐화를 가시화하고 실현하려는 방법이다.

else 예약어를 쓰지 않는 원칙은 다형성의 적절한 허용을 유도한다.

 

위와 같이 객체지향에 최적화된 코드를 작성하게끔 도움을 준다.

이번 원칙을 지키며 객체지향 프로그래밍을 이해하는 데 큰 도움이 되었다.

 

추가로 기존에 진행했던 프로젝트들의 코드를 보며 기존 코드를 싹 엎어야겠다고 다짐했다.

이 연습을 위해 20시간을 써서 이 규칙에 100% 부합하는 코드 1000줄을 짜보라.
- 소트웍스 앤솔러지 96p

그렇다 ... 힘내자

 

요구사항 분석

제출 직전에 검토 중에 2번 문제를 다시 풀었다. 이유는 요구사항을 잘 못 이해하고 문제를 풀었기 때문이다.

연속으로 중복된 문자들을 지우는 문제를 연속으로 중복된 문자 2개를 지우는 코드로 작성했었다.

잘못 푼 이유는 코드가 간결해져서 기분이 좋았고, 기존에 있는 테스트 코드에는 문제가 되지 않았기 때문에 모르고 지나쳤다.

 

이번 경험을 통해 테스트 코드의 중요성을 다시 한번 느끼게 되었다. 주어진 테스트 코드뿐만 아니라 테스트 코드를 추가하며 개발의 끝을 맺어야 한다고 느꼈다. 사람은 실수하기 때문에 실수를 방지하기 위해 테스트 코드는 필수 도구인 셈이다.

 

부족한 나의 작명 센스

변수, 메소드의 작명은 생각보다 쉽지 않았다. 특히 주로 임시로 사용되거나 잠깐 사용되는 변수들의 작명은 더욱 날 힘들게 했다. 그리고 익숙하지 않아서인지 작명하면서도 이게 맞는 이름인가 확신이 들지 않았다. 잘 짜인 코드를 보며 참고해야 할 부분인 것 같다.

 

 

코드 리뷰 받으면 추가로 작성하겠습니다. :)

1주차 과제 제출 코드가 궁금하다면 아래 링크로

https://github.com/iyk2h/java-baseball

 

GitHub - iyk2h/java-baseball: 숫자 야구 게임 미션을 진행하는 저장소

숫자 야구 게임 미션을 진행하는 저장소. Contribute to iyk2h/java-baseball development by creating an account on GitHub.

github.com

 

728x90

댓글