일급 객체 ,일급 컬렉션, Value Object
·
우테코 7기/2주차
❐ Description오늘 (2024.10.29) 스터디원들과 코드리뷰를 진행했다. 코드 리뷰 과정에서 내가Position을 일급 객체로 사용하면 좋을 것 같습니다!라고 피드백을 남겼다. 다시 생각해보면 일급 객체랑 VO랑 비슷하다고 생각해서 이렇게 말한 거 같다.이번 기회에 개념을 명확히 잡고, 다음 피드백에서는 동료들에게 보다 정확한 정보를 바탕으로 피드백을해야 할 것이다.     ❐ First Class (일급 객체)다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체라고 한다. 변수에 할당할 수 있다.함수의 인자로 전달 될 수 있다.함수의 반환 값으로 사용될 수 있다.그리고 일급 객체에서 사용되는 "객체"라는 단어는 Java에서 생각하는 그런 객체가 아니다!여기서 "객체"란, 프로그래..
[Refactoring] 제어할 수 있는 코드를 작성하자!
·
우테코 7기/2주차
❐ Description 이번 과제에서는 랜덤하게 값을 출력하는 유틸성 클래스가 있다.랜덤 값을 테스트하기 위해선 어떻게 해야할까?     ❐ 랜덤 값을 제어할 수 없는 구조처음에는 랜덤 값 생성을 `getCondition()`에서 진행해주었다. 그리고 상황에 따라서 Condition을 조회하는테스트 코드를 작성할 때 문제가 발생했다. 상황에 맞게 끔 랜덤 값을 생성해줘야 하는데 이를 내가 제어할 수없는 것이다. 그래도 정말 말도 안되는 방법으로 테스트를 작성하기는 했다.`System.setProperty()` 메소드를 사용해서 테스트할 때만 프로퍼티를 셋팅해준다.프로퍼티를 셋팅할 때 테스트 값을 value로 넣어준다.그 결과 불필요한 클래스들이 생겨나기 시작했다.     ❐ 랜덤 값을 제어할 수 있는 ..
[Refactoring] 패키지가 무엇을 제공하는지 전달하자!
·
우테코 7기/2주차
❐ Description주로 Common, Util, Global과 같은 패키지 명을 많이 쓰는데, 이번에 과제하면서Util도 여러 곳에서 사용하니깐 Common 하위에 들어가야 하지 않을까? 라는 생각을 했다. 그래서 아래의 키워드로 구글링을 했는데util package goes under common?구글링 과정에서 알게 Common, Util, Global, Base 같은 패키지명 사용을 지양하라는 글을 봤고,이를 과제에 적용해보았다.     ❐ Tag_v1.0tag v1.0에서 사용한 패키지명을 다음과 같다. #️⃣ Common여기서 common의 역할은 프로젝트 전반에 사용되는 정보들을 제공한다. 하지만 네이밍만 봐서는 해당 패키지가무엇을 제공하는지 명확하게 알기가 어렵다. 하물며 common은..
2주차 회고
·
우테코 7기/2주차
❐ Description2주차 작업 과정에서 느꼈던 점과 과제 후기를 작성한다.     ❐ Source code GitHub - Gilbert9172/java-racingcar-7Contribute to Gilbert9172/java-racingcar-7 development by creating an account on GitHub.github.com     ❐ Self - Review1.  [문자열 덧셈 계산기]에서 받은 피드백을 적용해보았는가?최초 개발 과정에서는 저번 피드백을 최대한 반영하면서 개발을 해보았다.모든 상수를 하나의 클래스에서 관리패키지명에 대한 피드백 (Infra)책임이 많은 도메인[Error]를 Prefix로 설정해보기부정어를 사용한 boolean 네이밍 등등..이걸 최대한 다 ..
자동차 경주
·
우테코 7기/2주차
❐ Description과제 기한2024.10.22(화) 15:00 ~ 2024.10.28(월) 00:00과제 진행 Branchhttps://github.com/Gilbert9172/java-racingcar-7과제 제출 PR 링크https://github.com/woowacourse-precourse/java-racingcar-7/pull/53Git conventionhttps://gist.github.com/stephenparish/9941e89d80e2bc58a153#file-commit-md     ❐ Requirements1. User경주할 자동차 이름을 입력할 수 있다.1개 이상구분은 쉼표(,)로 한다.이름은 5자 이하만 입력할 수 있다.이동 횟수를 입력할 수 있다. 2. System자동차에는..