오늘 한 공부
1. 자바 팀 프로젝트 발표
2. Java 알고리즘 연습
3. 팀 프로젝트 회고
Java 문제 풀이
2024.05.13 - [알고리즘] - [Java] chars() 함수의 사용
[Java] chars() 함수의 사용
알고리즘 문제를 풀다보면 문자열을 다룰 때가 많다. 문자열을 조작하는데 사용하는 함수 하나를 정리해보려고 한다. chars() chars() 는 CharSequence 인터페이스에 속한 메서드 중 하나다.이 함수
ggumijju.tistory.com
유효성 검사
2024.05.13 - [개발/Java] - [Java] 유효성 검사와 예외 처리의 차이
[Java] 유효성 검사와 예외 처리의 차이
자바 팀 프로젝트를 진행하면서 유효성 검사와 예외 처리의 개념을 약간 혼동하고 있는 것 같길래 정리해보았다. 예외처리 예외 처리는 프로그램 실행 중 발생할 수 있는 예기치 않은 상황
ggumijju.tistory.com
팀 프로젝트 회고
1. Stream 활용
기능 구현과 유효성 검사를 하기위해 여러 조건을 주다 보니 for문과 if문이 중첩된 채로 코드가 작성되는 경우가 많았었다.
그러다보니 원하는 기능을 구현할 때, 생각과 다르게 동작 할 때가 있었고 코드도 너무 복잡해지는 문제가 생겼었는데Stream으로 최대한 for문을 사용하지 않고 코드를 작성하려고 노력하여 문제를 해결하였다.
2. 객체지향적 개발
클래스 구조를 직접 설계하여 팀 단위로 프로젝트한 게 이번이 처음이다보니 클래스 구조를 어떻게 구성해야 객체지향적으로 잘 구성한 걸까 ? 라는 물음을 프로젝트 내내 계속 해왔다. 추상클래스나 인터페이스, enum, 제네릭 등의 개념을 활용하여서 최대한 객체 지향적으로 코드를 작성하려고 노력하였다.
3. 브랜치 분리
Git 특강에서 배웠던 대로 dev브랜치와 기능 브랜치를 각각 나눠서 기능 브랜치에서 개발한 뒤, dev 브랜치에서 머지하는 방식으로 깃허브로 협업 시 발생할 수 있는 충돌문제를 최소한으로 하기 위해 노력하였다.
이번 자바 팀 프로젝트에서 나는 수강생의 과목별시험 회차 및 점수 등록과 수정, 회차별 등급조회 기능을 구현하는 부분을 맡아서 구현하였다. 처음으로 페어 프로그래밍으로 개발을 해봤는데 정말 좋은 경험이었던 것 같다. 팀원 한분과 팀 프로젝트 내내 코드위드미로 작업을 같이 하면서 상대방 코드의 좋은 점은 나에게도 반영하여 체화시키려고 했고, 고치면 좋겠는 건 서로 피드백해가면서 작업해갔다. 확실히 혼자 하는 것보다 집중도 오래되고 피드백도 빨라서 좋았다. 다른 팀 프로젝트에서도 한번 진행해봐야겠다.
KPT 회고
팀 프로젝트가 끝난 후, 팀원들과 KPT 회고를 나누었다. KPT 회고란, Keep / Problem / Try 회고로 우리팀이 잘하고 있는 점은 계속 가져가고(Keep), 문제점(Problem)에 대해 얘기 나누고 어떻게 고쳐나갈지(Try) 하나씩 작성하여 서로 얘기를 나누는 회고방식이다.
Keep - 현재 만족하고 있는 부분
- 요구사항에 맞게 프로젝트 진행 및 수정
- 모르는 부분은 적극적으로 질문한다
- 팀원들과 자주 소통하면서 코드리뷰와 코드 개선점에 대해 이야기를 통해 수정해 나간다
- 누군가 도움을 요청하면 모두 도와주려고 노력한다.
Problem - 불편하게 느끼는 부분
- 시간 부족으로 추가 요구 사항 미구현
- 팀 단위의 소통이 부족했던 거 같다
- 배운 부분을 좀 더 적극적으로 사용해야한다
- 팀원들에게 내 생각이나 코드를 설명을 하는 과정에서 설명이 미흡했다
Try - Problem에 대한 해결책, 당장 실행 가능한 것
- 일정 관리를 통한 추가 요구 사항 구현
- 하루에 한번씩은 소통하는 시간을 강제한다
- 배운게 있으면 적극적으로 활용한다
- 타인에게 코드를 설명을 자주하면서 감을 익히고 좀 더 쉽게 설명해주는 방식으로 접근한다
'개발 > TIL' 카테고리의 다른 글
[TIL#18] Spring 입문 2 (2) | 2024.05.16 |
---|---|
[TIL#17] Spring 입문 (0) | 2024.05.14 |
[TIL#15] Optional / 알고리즘 연습 (4) | 2024.05.10 |
[TIL#14] Stream / 알고리즘 연습 (0) | 2024.05.10 |
[TIL#13] StringBuilder (0) | 2024.05.08 |