1. 프로젝트 진행 상황 및 계획
🥇 Spring 심화 프로젝트 도전 과제 3단계 끝내기 (진행 중, 25.01.02 완료 목표)
🥈 Spring 심화 프로젝트 필수 과제 2단계 끝내기 (진행 중, 25.01.02 완료 목표)
🥉 Spring 심화 프로젝트 도전 과제 일정 계획하기 (완료) ▶ 목요일(25.01.02)에는 3단계까지 끝내고 금요일(25.01.03)에는 5단계를 먼저 진행할 다음, 주말에 필수 과제 2단계와 도전 과제 4단계 및 6단계를 끝내고자 한다. 5단계가 바로 '테스트 코드(test code) 작성하기'이므로.
4️⃣ 심화 Spring 3주 차 완강하기 (완료)
2. 지금 눈앞에 있는 코드는 꿈일 거야.
리팩토링(refactoring)에 해당하는 도전 과제 3단계를 하려고 코드를 본 순간 '와' 소리밖에 나오지 않았다. 길이는 둘째치고 if문의 조건식을 마주한 동시에 눈이 질끈 감겼다. 조금 과장해서 팀 프로젝트 때 누가 이런 코드를 제출하면 '잠시 저랑 얘기 좀 할까요?' 냅다 물어봐야 할, 그야말로 가독성과 척을 진 코드였다. 왼손이 목덜미에 저절로 향했다.
첫째, 예외 처리 메시지가 한쪽에서는 영어로, 다른 쪽에서는 한글로 쓰였다. '담당자를 등록하려고 하는 유저가 일정을 만든 유저가 유효하지 않다'라는 문장에서 주어는 누구일까, 이게 도대체 뭔 말일까 싶은 기분은 둘째치고, 팀 프로젝트 전에 메시지도 무조건 하나로 맞춰야 고생을 덜 해야겠다 싶었다. 솔직히 '사용자'라든지 '회원'이라든지 한글로도 충분히 표현할 수 있는 단어를 굳이, 정말 굳이 왜 '유저'라고 했을까, 이 부분도 꽤 신경 쓰였지만 일단 뒷순위로 두었다.
둘째, 조건식 이거 어떡할 거야.
if (todo.getUser() == null || !ObjectUtils.nullSafeEquals(user.getId(), todo.getUser().getId())) {
throw new InvalidRequestException("해당 일정을 만든 유저가 유효하지 않습니다.");
}
길이도 길이인데 '아니다, 같지 않다'라는 의미를 나타내는 느낌표(!)에 '또는'이란 뜻이 담긴 논리 연산자(||)까지, 분명 코드인데 수학 문제를 푸는 기분이 확 밀려왔다. 뉴스피드 프로젝트 때 진행한 리팩토링(refactoring)은 아주 무난한 편에 속했다. 이번 개인 프로젝트는 정말 규칙 정하기가 왜 중요한지 알려주는 효과가 확실했다. 팀에서 꼼꼼하게 규칙을 정하지 않으면 고생길이 열린다고 깨닫기에 제격이었으니까. 나만 해도 분 단위로 '이야' 감탄을 금치 못했으니까!
셋째, newManager인지 manager인지 무조건 정하자고, 잊지 말자고 몇 번이고 다짐했다. DTO(Data Transfer Object) 클래스(class) 이름은 무조건 'CreateManagerRequestDto'나 'UpdateManagerResponseDto' 같이 짓자고 꼭 얘기해야 한다는, 일종의 의무감을 제대로 느꼈다.
물론 @NoArgsConstructor 같은 어노테이션(annotation)을 쓸지, 아니면 어노테이션을 쓰지 않고 직접 입력할지 또한 한 가지로 맞추자고 다짐했다. 이번 과제는 꼭 얼마나 꼼꼼한 사람인지 확인하는 시험 같았다. 귀찮다는 이유로 넘기지 말고 눈을 동그랗게 뜨고 한 줄 한 줄 코드를 읽어야겠다.
2025년을 맞이한 만큼, 남은 프로젝트는 새로운 마음가짐으로 최대한 도전 단계 과제까지 해낼 수 있도록 노력해야겠다. 겸사겸사 한국어와 영어, 두 언어의 어휘력과 문장력을 매일매일 조금씩 늘리면서.
[25.01.02 추가] 보는 순간 속으로 '헉!' 소리를 냈다. 조건 세 개가 한 조건식 안에 들어가다니. 심호흡하고 하나씩 고쳐야겠다.
'끝을 보는 용기' 카테고리의 다른 글
Day 089 - Spring 심화 프로젝트 3단계 및 4단계 완료, 단순한 개발자가 아니라 창작자가 되고 싶다. (0) | 2025.01.03 |
---|---|
Day 088 - Spring 심화 프로젝트 3단계 진행 중, 팀 프로젝트 전에 다 같이 코드 작성 규칙을 정하다. (0) | 2025.01.02 |
Day 086 - 심화 Spring 2주차 완강, Spring 심화 프로젝트 1단계 완료, 팀장 특강을 열어도 될까? (0) | 2024.12.31 |
Day 085 - 심화 Spring 1주차 완강, 눈에 띄는 기술 블로그를 운영하려면 어떤 글을 써야 좋을까? (0) | 2024.12.30 |
깊은 애도를 표합니다. (0) | 2024.12.29 |