코틀린에서는 자바와 마찬가지로 타입을 담는 클래스인 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() 함수는 매개변수의 값이 참인지 체크..
코딩 컨벤션 코틀린의 문법을 사용하면서 코딩 컨벤션을 제대로 준수하고 있는지 알아보는 시간을 가졌습니다. 코딩 컨벤션은 각 언어 특성에 맞게 규칙을 적용하여 파일 이름, 줄 바꿈 간격, 변수와 클래스 등 식별자 이름의 규칙을 지정하는 것입니다. 한 프로젝트 내에서 팀으로 일하는 개발자끼리 특정한 도메인 개념들에 대하여 네이밍 컨벤션을 지정하기도 합니다. 코딩 컨벤션을 활용할 경우 가장 큰 장점은 일관된 코드 스타일을 유지할 수 있다는 점입니다. camelCase를 활용해서 변수나 상수를 선언하는 규칙을 통해서 일관 된 코드 스타일과, 타입 추론이 가능한 변수를 명시적으로 선언하는 방법이 있습니다. 질서있는 코드를 작성하고, 네이밍에 규칙을 적용한다면 원활한 협업에도 도움을 주게 됩니다. 일관된 코드 크타..