전체 글
-
TDD 예제 2 - MockitoJAVA/TDD 2022. 4. 22. 10:15
Mock : 프로그래머가 직접 행동을 관리하는 객체. 진짜 객체와 똑같이 움직이지만 실제로 구현되지 않음. Mockito : Mock 객체를 쉽게 만들고, 관리하고, 검증할 수 있는 방법을 제공하는 프레임워크. 참고 : Mockito란? Mockito 사용하기 Mockito란? Mockito 사용하기 Mockito란? · Mock 객체를 쉽게 만들고, 관리하고, 검증할 수 있는 방법을 제공하는 프레임워크 - Mock: 진짜 객체와 비슷하게 동작하지만, 프로그래머가 직접 행동을 관리하는 객체 - 공홈 https://si scshim.tistory.com build.gradle 설정 testImplementation 'org.mockito:mockito-core:3.11.2' testImplementatio..
-
Clean CodeJAVA/ETC 2022. 4. 21. 16:16
참고 : 깨끗한 코드를 위한 5가지 팁. 특정 값을 받아 해당하는 연산을 수행한 뒤 결괏값과 비교한 boolean 값을 가지고 다른 메소드를 실행하여 값을 얻는 메소드. 해당 코드를 최대한 Clean Code에 가깝게 수정. - 간단한 코드라 억지스러운 면이 없지 않아 있음.. 1. 특정 상수들도 변수로 만들어 사용한다. - inch 단위에서 centimeter 단위로 변경하기 위한 상수 2.54를 직접 넣으면 나중에 다른 개발자가 봤을 때 의미를 바로 알아차리기 힘들 수도 있다. 2. 메소드 명은 다른 사람이 봤을 때 한 번에 기능을 알 수 있어야 하고, 명사가 아닌 동사를 사용한다. - toProcess라는 메소드는 너무 포괄적인 메소드 명이므로 해당 연산 뒤 문자열 값을 얻는다는 메소드 명으로 변경..
-
TDD 예제 1JAVA/TDD 2022. 4. 21. 15:01
디자인 : cm의 단위를 입력 했을때, 원하는 길이의 단위로 변경하는 기능을 가진 기능 구현 기본적인 JAVA 프로젝트 생성 RED : 실패하는 Test코드 작성 GREEN : TEST코드에 맞는 실제 코드 작성 해야 할 일: 1. Centimeter Class와 Inch Class 생성. 2. Centimeter Class에 toInch 메소드 생성. 테스트 결과 Refactor : cm와 inch를 계산하는 TO_INCH, TO_CENTIMETER 값이 중복되고, 다른 단위까지 추가하였을 때에도 중복되는 값이 있기 때문에 변환하는 클래스를 가지는 TransferClass를 만들어 변환 값을 관리한다. 새로운 디자인 : cm 뿐만 아니라 다른 단위의 값이 들어와도 단위 변경이 가능하도록 수정 RED :..
-
TDDJAVA/TDD 2022. 4. 21. 13:36
Test Driven Development의 약자로 테스트 주도 개발이라 한다. 실제 코드를 작성하기 전 작은 단위의 테스트 케이스를 작성하고, 이를 통과시키는 코드를 작성하여 실제 프로젝트에 코드를 추가하는 단계를 반복하여 구현한다. 위 같은 과정으로 진행하게 된다면 서비스 메소드는 최소한의 기능을 가진 작은 단위로 코딩할 수 있고, 미래지향적인, 아직 사용되지 않을, 불필요한 코드들의 작성을 피할 수 있게 된다. 디자인 단계에서 프로그래밍 목적을 미리 정의해야 하고, 테스트 케이스를 작성한 후 코드 개발을 하여야 한다. 코드 개발에서 나오는 버그들을 수정하고, 리팩토링하여 다시 테스트 코드를 작성 후 코드 개발을 진행한다. RED : 실패하는 테스트 코드를 먼저 작성한다. GREEN : 테스트 코드를..
-
stream()JAVA/CODE 2021. 11. 2. 14:11
자바8부터 생긴 Collection이나 List의 데이터를 처리하는 메소드. userList.stream() 으로 사용.. .map() : 데이터를 수정하거나, Dto List중 일부 요소만 빼내는 메소드 .filter() : 데이터중 특정한 조건을 만족하는 데이터만 추출하는 메소드 .limit() : 리스트를 0번에서부터 원하는 갯수만큼 자르는 메소드 .sorted() : 리스트 객체들을 정렬하는 작업 .count() : 리스트 객체의 갯수를 확인 .forEach() : 반복적인 작업을 하는 메소드 .Collect(Collectors.toList) : stream을 사용한 객체는 stream 형태의 데이터인데 이것을 List로 변경해주는 명령어이다. .Collect(Collectors.toList)를 ..