공부함
1주차 숫자야구 피드백 본문
java랑 1주차 미션이었던 숫자야구 풀이를 해주는 영상이 있어서 복습할 겸 간단하게 정리해보고자 한다
개발 전
- 기능 요구 사항을 정리해라
- 요구사항으로부터 기능 목록을 정리해라
빌드
- 빌드 도구가 있으면 build.gradle의 dependencies에 적어준 라이브러리를 저장소에서 받아온다
패키지
- 관련있는 클래스파일들을 한 곳에 모은다
- 클래스명을 다 보지 않고 패키지명만 봐도 어떤 역할을 하는지 알 수 있다
- 패키지를 먼저 만들어서 어떤 프로그램인지 알 수 있게 하자
- model, doamin : 다루고자 하는 서비스의 비즈니스 로직이 들어있는 영역
클래스
- 클래스 이름에 어울리게 행동해야 한다
- 객체는 클래스의 복사본이다
- static 멤버변수는 모든 객체가 함께 공유하는 값이다 (클래스 변수)
- static 멤버변수는 굳이 인스턴스 생성할 필요 없이 바로 클래스에서 접근 가능하다
불변 값
- final을 붙여서 변하면 안된다고 지정을 할 수 있다 (상수). 상수는 기본적으로 대문자 사용, snake case로 사용
- 바꿀려고 하면 컴파일에러를 발생시킨다
객체지향 프로그래밍
- 기능을 갖고 있는 클래스를 인스턴스화 한다
- 필요한 기능을 역할에 맞는 객체가 수행하게 한다
- 각 결과를 종합한다
어떤 클래스에 어떤 기능이 필요한 지 정리해본다. 위 사진처럼
컬렉션
- 자바에서 제공하는 컬렉션을 활용하자
커밋 단위
- 기능 목록에서 기능을 하나 구현할 때 마다 커밋한다
자동 정렬
- 패키지를 누르고 ctrl alt l 을 눌러서 패키지의 모든 파일을 자동 정렬할 수 있다
협력
- 다른 객체의 함수를 가져다 사용한다
강의에서는 입출력을 위한 클래스를 따로 사용하지는 않았다. 각 메서드 내에서 입출력을 해줬다.
단위 테스트 코드 작성
- assert를 통해 (assert는 주장한다는 뜻) 컴퓨터를 통해 결과를 검증한다
- 코드에 버그가 발생하면 테스트코드가 알아채게 된다
- @BeforEach @AfterEach등을 통해 중복 코드를 최소화 할 수 있다
- @ParameterizedTest와 @CsvSource를 활용해 중복되는 테스트 코드를 줄일 수 있다.
'우테코 6기 프리코스' 카테고리의 다른 글
MVC 패턴 (0) | 2023.11.12 |
---|---|
프리코스 2주차 미션 (0) | 2023.10.30 |
프리코스 1주차 미션 (2) | 2023.10.29 |