개요우아한 테크코스 과정을 진행하면서 단위 테스트와 도메인 로직에 대하여 공부하게 되었습니다.이는 미션에서 요구 사항으로 추가되기도 하였는데요, 단위 테스트와 도메인 로직의 개념과 필요성에 대하여 알게 되었습니다. 단위 테스트 단위 테스트는 앱의 작은 단위를 사용하고, 코드의 나머지 부분에서 격리하며 예상대로 동작하는지 확인하는 기능을 합니다.각 기능 단위가 예상되로 수행되고, 앱 전체에서 오류가 발생하지 않는지 확인하는 것이 주 목표입니다.메서드나 동작 하나를 검증하며, 빠르고 작아야할 필요성이 있습니다. 유닛 테스트? 유닛 테스트는 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차입니다. 단위 테스트의 필요성단위 테스트는 소프트웨어 개발에서 중요한 요소이며, 아래와 같은 장점을 가집니다. - ..
3주차 돌아보기 개인적인 일이 많아서 3주차는 4주차가 끝날 무렵 작성하게 되었습니다. 벌써 프리코스의 마지막 주차를 앞두게 되었고, 처음 접해보는 큰 실수로 인한 아쉬움을 가지고 회고를 작성하게 되었습니다. 3주차에서 가장 아쉬웠던 점은 아래의 예제 테스트 결과를 해결하지 못한 것이었습니다. 가능한 꼼꼼하게 기능을 구현하고, 소감을 작성하고자 하였기에 계속해서 코드를 수정하고 제출 마감 3시간 전에 제출하게 되었습니다. 이번 미션도 무사히 끝났다는 안도와 함께 위에 메세지를 접하게 되었습니다.. 빌드 과정에서 오류가 있다는 문구를 읽게 되었고, 코드에 문제가 있다고 파악하여 전체적인 수정을 진행하였으나 제출 기간 내에 문제점을 찾기 못하게 되었습니다.. 제출 기간이 끝난 후에 "프로그래밍 요구 사항에서..
개요우아한 테크코스 3주차 미션을 진행하면서 단위 테스트에 대하여 학습하게 되었습니다.kotlin은 프로그래밍 언어 중에 간결한 문법과 테스트를 지원한다는 장점을 가지고 있습니다.이번 미션을 통해서 Junit과 assertJ를 활용한 단위 테스트를 학습하고 적용하게 되었습니다.IntelliJ 작업 환경에서 간단하게 테스트 하는 방법을 작성하였습니다. 테스트 코드의 장점코틀린에서 테스트 코드를 활용하면 자동화된 테스트를 통해서 개발자가 수동으로 테스트해야 하는 시간을 절약할 수 있습니다.초기에 버그를 발견하고, 빠른 수정을 통해서 소프트웨어 품질을 향상시킬 수 있으며,코드 변경이나 리팩토링 후 테스트를 자동으로 실행하여 기존 기능이 제대로 작동하는지 확인할 수 있습니다.테스트 코드를 작성함으로써 코드의 문..
코틀린에서는 자바와 마찬가지로 타입을 담는 클래스인 enum 클래스를 지원합니다. 열거형 클래스라고 하며, 아래와 같이 상수를 집합으로 관리할 수 있어 코드에 가독성이 높아집니다. 이번 프로젝트에서 아래와 같이 Swipe 상태를 관리하는 enum 클래스를 선언했습니다. 클래스를 enum으로 선언할 경우 장점은, 직접 이름을 전달하지 않고 SwipingStates를 전달함으로써 상수 클래스로 활용할 수 있습니다. enum class SwipingStates { EXPANDED, COLLAPSED } 각 열거형 상수는 객체이며, 열거형 상수를 쉼표로 구분해야 합니다. 각 Enum 클래스는 Enum class의 인스턴스 이므로 특정 값으로 초기화 될 수 있습니다. enum 정의 형식 enum 키워드를 사용하여..
코틀린의 validation 로직을 실행하기 전에 검증을 통해서 사용자의 input이나 사용하는 상태가 적절한지에 대한 판단이 필요합니다. isEmpty()나 orNull()을 포함한 함수를 사용하여 간단하게 검증하는 방법이 일반적인데요. 이러한 과정에서 코틀린은 좀더 쉽고 정형화 된 함수를 사용하는데, 이 것이 check와 require 입니다. 우테코 프리코스 과정을 거치면서 처음으로 학습하여 코드에 적용하게 되었습니다. 두 함수 모두 Boolean 형태의 argument를 받아서 false인 경우 예외처리하도록 합니다. IllegalArgumentException를 throw하며, 파라미터의 값을 검증하는데 사용할 수 있습니다. require() require() 함수는 매개변수의 값이 참인지 체크..
2주차 돌아보기 어느정도 시간의 여유가 생겨서 2주차는 1주차와 다르게 바로 작성하게 되었습니다. 벌써 프리코스를 반 정도 진행하게 되었고, 좀 더 잘하고 싶다는 후회와 아쉬움으로 회고를 작성하게 되었습니다. 1주차가 끝나고 2주차가 시작되면서 1주차 공통 피드백 메일을 받게 되었습니다. 다른 참가자 분들께 1주차 코드 리뷰를 받고 코드를 수정했었는데요. 공통 피드백을 확인해보니 고쳐야 할 부분이 상당히 많았습니다. 이전 미션의 개선점 찾기 공통 피드백을 통해서 내 코드에 문제점을 찾는 시간을 가지게 되었습니다. 중요하다고 생각하는 피드백을 뽑아서 코드 수정을 하였습니다. 1. 커밋 메시지 작성의 필요성 가장 중요한 점으로, 커밋 메시지를 기능별로 적절하게 관리했어야 했습니다. 첫 미션부터 큰 실수를 한..