우테코 회고록

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

서노리 2022. 11. 11. 02:21
반응형

2주차 미션 - 숫자 야구

https://github.com/Lee-Sunho/kotlin-baseball/tree/Lee-Sunho

 

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

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

github.com


달라진 점

 

1. 깃 커밋 메시지

1주차 끝나고 규칙적이고 체계적인 깃 커밋메시지에 대한 중요성을 깨닫고 여러 글들을 참고하며 커밋 메시지 작성법을 익혔다. 특히 커밋 메시지 타입을 구분하는 것에 신경을 많이 썼다. 새로운 기능을 추가할 때는 feat, 오류 등을 수정할 때는 fix, README.md를 고칠 때는 docs, 코드 리팩토링을 할 때는 refactor, 사소한 오타 또는 출력문 등을 추가할 때는 chore, 테스트 코드를 추가할 때는 test 타입을 이용하여 커밋 메시지를 작성하였다. 규칙을 가지고 커밋 메시지를 작성하니 확실히 가독성이 좋아졌다. 

 

2. 코틀린 코드 컨벤션

https://medium.com/mj-studio/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%9E%91%EC%84%B1%ED%95%98%EC%8B%9C%EB%A9%B4-%EB%90%A9%EB%8B%88%EB%8B%A4-94871a1fa646

 

코틀린, 이렇게 작성하시면 됩니다

코딩 컨벤션의 개념과 코틀린의 코딩 컨벤션들(Coding conventions)에 대해

medium.com

코틀린 코드 컨벤션을 최대한 지키기 위해 노력하였고 안드로이드 스튜디오의 코드 reformat 단축키인 Ctrl + Alt + L을 항상 이용하는 습관을 들이게 되었다.


배운 점

1. 유닛 단위 테스트 도구 (JUnit 5, AssertJ)

이번 주 미션에서 추가된 요구 사항에는 'JUnit 5와 AssertJ를 이용하여 본인이 정리한 기능 목록이 정상 동작함을 테스트 코드로 확인한다.' 라는 항목이 있었다. 지금까지 어떤 프로그램을 테스트할 때는 전체 프로그램을 실행시켜가면서 테스팅을 진행하였다. 하지만 JUnit과 AssertJ를 이용하면 간단한 테스트 코드를 작성하여 유닛 단위로 테스팅을 진행할 수 있었기에 정말 편리하고 신선한 충격이었다. 나는 함수를 만들면 그 함수에 대한 테스트 케이스를 작성해서 확인하는 식으로 코딩을 하였는데 찾아보다 보니 테스트케이스를 작성한 후 실제 코드를 개발하는 TDD 방법론도 존재했다. 슬랙에서도 많은 분들이 TDD 방식에 대해 언급하셔서 무엇인지 찾아보았다. TDD 방식의 장점으로는 리팩토링 시간을 단축할 수 있고 피드백과 협력에 도움이 된다고한다. 마침 3주차 과제를 확인하니 TDD 방식이 추가 요구 사항으로 들어가있는 것을 확인했다...  다음 주도 역시 신경쓸 부분이 많을 것 같다.

https://www.jiniaslog.co.kr/article/view?articleId=952 

 

테스트 라이브러리 알아보기 (Java) - Juit, AssertJ, Mockito - Jinia's LOG'

Goal 현재 재직중인 회사에선, 구현 코드 작성시 최소한의 테스트코드가 없으면 풀리퀘가 거부되는 방식으로 개발이 진행되고 있다. 또한 코틀린으로 테스트 코드를 작성하기 떄문에, 코틀린에

www.jiniaslog.co.kr

http://clipsoft.co.kr/wp/blog/tddtest-driven-development-%EB%B0%A9%EB%B2%95%EB%A1%A0/

 

TDD(Test-Driven-Development) 방법론 - CLIPSOFT

작성자 : 강성웅 부장   TDD(Test-Driven-Development) 방법론에 대하여…     - TDD가 무엇 일까? TDD란 Test Driven Development의 약자로 ‘테스트 주도 개발’이라고 한다. 테스트 주도 개발(TDD)은 설계 이후

clipsoft.co.kr


아쉬운 점

1주차에 비해 아쉬운 점이 많지는 않고 오히려 뿌듯한 부분이 많았다. 역시 시간 투자를 여유롭게 해야 스스로 배울 수 있는 부분이 많아지는 것 같다. 이번 주차에서 배운 유닛 단위 테스트 도구는 앞으로 코딩하면서 도움이 상당히 될 것 같다.  1주차에 다짐했던 원시값, 문자열 포장이나 일급콜렉션에 대해서는 이번에 클래스를 쓰지 않아서 공부하지 않았던 것이 찝찝하긴 하다. 근데 3주차에 어차피 클래스를 쓰기 때문에 이 때 적용해보는 걸로!


다음 주차 다짐

  • 이번 주 학교 과제도 많은데 그래도 시간 투자 많이 할 수 있기를
  • 1, 2주차 동안 배우고 느꼈던 점 숙달, 체화하기!
  • 클래스 사용에 대한 공부하기!
  • TDD 방법론에 대한 공부하기!

 

반응형