코틀린 3

절차지향 VS 객체지향 by Kotlin

절차지향 객체지향 차이점 - 객체의 유무 - 절차지향은 데이터 중심적 개발, 객체지향은 기능 중심적 개발 - 객체지향적으로 개발한다면, 객치지향으로 작성한 프로그램이 일반적으로 읽기가 더 편하다 - 객체지향적으로 개발을 하게 되면 유지보수를 할 때 어느 코드를 수정 해야할지 찾기가 비교적 쉬움 절차지향 예시 (고객이 자판기를 이용하는 프로그램) package proceduralvsoop var orangeJuice = 10 var appleJuice = 20 fun main() { var customerChanges = 1000 var customerHas: String? = null val wantJuice = "Orange juice" if (wantJuice == "Orange juice") { i..

자바 2022.08.29

책 단위테스트 느낀점 1편

사내에서 새로운 프로젝트를 시작하게 됐다. 이 프로젝트에서 단위 테스트를 도입 했는데, 어떻게 하면 단위 테스트를 잘 할 수 있을지에 대한 궁금증이 있었다. 단위테스트라는 책을 통해 이 궁금증이 해결되고 더 나은 단위테스트 코드를 작성할 수 있으면 좋겠다. 단위테스트 책을 요약할 때, 내가 느꼈던점 위주로 요약을 해보려고 한다. 필요하면 예제 코드도 함께 작성 해보려 한다. 느낀점 단위테스트란 작은 코드 조각 (단위)를 검증하고, 빠르게 수행하고, 격리된 방식으로 처리하는 자동화된 테스트다. 왜 작은 코드 조각일까? 내 생각으로는 오류를 빠르게 찾을 수 있고, 테스트 코드의 가독성이 높아지기 때문이라고 생각한다. 만약 양이 많은 코드를 검증한다고 생각하면 해당 테스트를 실행시킬때, 양이 많은 코드 중 ..

자바 2022.08.25

Kotlin Junit5 @ParameterizedTest

제가 토이 프로젝트를 진행할 때, 관리자가 호텔 이름을 통해 호텔을 조회할 수 있는 기능에 대한 테스트가 필요했습니다. 테스트에 들어가는 인풋값에 여러가지 데이터가 필요하게 되었는데 이유는 무작위로 검색한 이름마다 해당 이름에 맞는 호텔 정보가 잘 나오는지 확인하기 위함입니다. 그래서 사용한게 @ParameterizedTest 였습니다. 해당 어노테이션을 사용하면 하나의 테스트에서 여러개의 파라미터에 대한 결과 값을 검증할 수 있습니다. 즉 여러가지 호텔 이름으로 검색한 결과값을 검증할 수 있다는 뜻입니다. 아래 이미지와 같이 저는 호텔 이름 세개에 대한 결과값이 잘 검증되는지 확인 해보았습니다.

자바 2022.08.20