TDD, 클린 코드 with Java 17기 라이브 강의 요약 (작성예정)
- TDD, 클린 코드 with Java 17기
- · 2023. 12. 16.
2023년 12월 9일 토요일을 기점으로 모든 미션을 수료 하였다. 미션을 촉박하게 수행하기 싫어서 초 중반에 빠르게 달렸고, 과정이 끝나기 5일 전에 모든 미션을 수료할 수 있었다. 회사에서 코드 리뷰 문화를 직접 도입했지만 막상 스스로 코드 리뷰는 받지 못하는 환경에 있다. 코드 리뷰를 해주다 보니 나의 개발 역량에 의구심이 들었다. 반복적인 CRUD 패턴 개발 습관을 깨고 싶었고, 테스트 코드와 자바를 자바답게 사용하고 싶어 지원하게 되었다. 그리고 반드시 수료를 목표로 잡았는데 이력서에 한두줄이라도 추가하기 위해서다. 미션을 진행하면 할 수록 난이도가 어려워지고 마감 일정은 다가오니 1년 동안 지켜온 수면 패턴을 깰 수 밖에 없었다. 평일 밤, 주말에도 쉬지않고 코딩에 집중하였다. 수료 후 너무 ..
강사님이 가장 중요한 미션이라고 여긴 레거시 코드 리팩터링 미션이다. 앞의 미션들은 이 미션을 위한 연습이라고 해도 과언이 아닐 정도라고 하셨다. 앞의 미션들은 하지 않아도 레거시 코드 리팩터링 미션은 무조껀 해야 비싼 강의에서 얻어갈 수 있는 것이 있다고 말씀하셨다. 이전 콘솔 기반 미션과는 많이 다르고 Base 코드도 있다보니 코드를 어디까지 수정해도 되는지 감이 잘 잡히지 않았다. 예를 들어 Answer과 Question 객체에서 양방향 관계로 되어 있는걸 해제해도 되는지 등이다. Step1 1단계 레거시 코드 리팩터링 Step1 1단계 레거시 코드 리팩터링 Step1 미션은 Service Layer에 집중되어 있는 로직을 도메인 모델로 옮기는 미션이였다. 객체지향 적으로 코드를 작성하지 않으면 S..
Step1 스트림, 람다, Optional Step1 스트림, 람다, Optional PR 평소에 자바8 문법을 사용하고 있어서 이번 Step은 별다른 어려움이 없었다. .filter(age -> age >= 30 && age age >= 30 && age 10자로 변경 되면"참여자의 이름은 5자 이하로 입력하세요." -> "참여자의 이름은 10자 이하로 입력하세요."출력할 메시지를 변경하지 않으면 불일치가 발생한다. 따라서 요구사항에 변경에 대비하여 출력할 메시지를"참여자의 이름 길이가 초과되었습니다"이런식으로 변경하는게 좋다 라는 말씀이실까요? 💡 맞아요😀 저는 그러한 작업을 일반화하여 표기하기라고 해요. 아니면 커스텀 예외의 장점을 살려 파라미터를 전달할수도있겠죠 ㅎ 리뷰어님의 입장과는 다른 생각을..
Step1 문자열 계산기 Step1 문자열 계산기 PR 미션1의 계산기와 비슷한 요구사항이여서 쉽게 진행했다. import java.util.regex.Pattern; import java.util.stream.Collectors; public class Input { Input은 validation과 parsing을 수행하고 있는 객체다. 아래와 같은 피드백을 받았다. 💡 validation과 parsing을 수행하고 있습니다. Input 보다는 더 잘 표현할만한 명칭은 없을까요? 입력 값 검증만 했다면 -Validator 등을 붙혔겠지만 parsing 역할도 있어서 범용적인 클래스명을 붙히는게 좋다는 생각이 들었다. 그래서 클래스명을 CalculatorInputProcessor 로 수정하였다. pub..
Step1 학습 테스트 실습 Step1 학습 테스트 PR @Test @DisplayName("성공 - 중복이 제거된 Set 크기를 확인할 수 있다.") void success_set_size_test() { //when int size = numbers.size(); int expected = 3; //then assertThat(size).isEqualTo(expected); 처음 짠 로직은 Set size를 체크시 size() 메소드를 사용해서 추출한 후에 비교 하고 있다. 아래와 같은 피드백을 받았다. 💡 size를 굳이 추출하지 않고, hasSize 로 확인하실 수 있을 것 같아요 ~ 그래서 아래와 같이 수정하였다. assertThat(numbers).hasSize(3); Step2 문자열 덧셈 ..
드디어 Nextstep 강의 시작!! 교육 기간은 2023년 10월 30일(월) ~ 12월 14일(목) 총 6.5주간 진행된다. 현재 3년차 개발자지만 성장했다는 느낌을 받은적이 거의 없었다. 단지 CRUD 공장장이 된 기분이랄까... 주니어 개발자란 타이틀을 가지고 있을때 폭풍적으로 성장해서 원하는 목표를 이루고 싶다. 포기하지말고 기간내에 수료할 수 있게 화이팅 하잣!!
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.