한 일과 느낀 점
1) 한 주간 한 것
유 성 재 : 프로젝트 설계와 그에 맞춰 클래스, 메서드, 코드를 작성하고 팀원들의 피드백을 받아 프로그램으로 완성
박 상 훈 : 중복되는 코드를 찾아 효욜적으로 리팩토링하고 전체적인 CRUD 구조 아이디어 제안, 기획
임 동 규 : 클래스, 메서드, 코드의 완성도를 높히고 깃허브에 대한 지식 공유 및 활용을 통해 팀의 깃허브 사용능력 고취
KEEP
깃허브로 협업하기, 자유로운 소통, 진행사항을 매일 기록하기
PROBLEM
구조 기획보다는 구현에 집중한 점/ 프로젝트 참여 인원의 부족으로 인한 아이디어 부족/ 3Tier - Architecture 활용 미흡/
데이터베이스의 삭제 이상/ Main 클래스 비대화
TRY
더 다양한 소통채널(ex: 셀프 스터디)를 구축 해서 프로젝트 기간동안 더욱 효과적인 의견 교환 지향
주석을 더욱 다양하게 활용하여 코드 흐름을 더욱 명확히 하기
UML 다이어그램을 활용한 프로젝트 구조설계의 효율성 향상
2) 느낀 점
유 성 재 : 프로젝트를 수행하는 것은 하나의 작은 벤처기업을 운영하는 것과 같다고 생각했고, 이를 위해 구성원들이 정말 각고의 노력을 다해주어야 프로젝트가 완성된다는 것을 경험을 통해 느꼈습니다. 또한 코딩은 많이 보고 직접 해보는 양이 늘어날수록 실력이 향상된다는 말, 실습량과 러닝커브가 비례하는 것을 실감할 수 있었던 시간이었습니다.
박 상 훈 : 실제 구현이 우선이라고 생각하고 간단한 아이디어만을 가지고 바로 구현에 들어갔었는데, 그러다보니 협업할 때 의사소통에 어려움이 조금씩 발생하였고, 프로젝트 전반적인 구조가 한눈에 파악되지 않았습니다. 하지만 다같이 힘을 합쳐 구현이 되는 결과물을 얻었고, 깃허브를 사용해 협업 함으로써 새로운 경험을 했던 것 같아 좋았고 앞으로도 좋은 개발자로 성장하기 위한 좋은 발판이 됐던 것 같습니다.
임 동 규 : 프로젝트 전주의 공백기로 인해 기능 및 구현에 따라가지 못하여 거기서 시간을 많이 쓴 거 같아 아쉬웠지만 팀원의 도움으로 해소가 되면서 그래도 프로젝트 진도에는 맞춰 끝낼 수 있어서 좋았습니다. 그리고 이번 기회로 미흡했던 깃허브의 사용법을 조금이라도 배워 활용하여서 아마 다음 프로젝트에선 막힘없이 할 수 있을 것 같습니다.
유 성 재 :
private final static Bank bank = new Bank();
public static Bank getInstance(){
if(bank == null){
return new Bank();
}
return bank;
}
각 메서드에서 객체를 호출할 때마다 값이 변경되거나 꼬이는 경우를 막기 위해 만든 코드. 이를 바탕으로 BANK 클래스의 다양한 메서드를 호출하면서 값의 중복이나 오류가 없었던 점이 매우 마음에 들었다.
박 상 훈 :
public boolean confirmAccountNum(String inputAccountNum){
if(userList.stream().anyMatch(s -> s.getAccountNum().equals(inputAccountNum))){
return true;
}
System.out.println("존재하지 않는 계좌번호입니다!");
return false;
}
public boolean confirmAccountName(String inputAccountName){
if(userList.stream().anyMatch(s -> s.getName().equals(inputAccountName))){
return true;
}
System.out.println("존재하지 않는 회원입니다!");
return false;
}
모든 작업에서 계좌번호와 비밀번호 확인이 중복으로 필요하게 되는데, 그 때 마다 저 함수를 호출해서 사용하기만 하면 되기 때문에 코드가 간결 해졌습니다. 또한 for ~ if 가 아닌 스트림API를 사용하면서도 더 가독성 있고 짧은 코드를 완성할 수 있었던 점에서 가장 마음에 드는 코드로 뽑았습니다.
임 동 규 :
public void searchAccountStock(String searchAccountNum) {
Stream<User> searchUser = userList.stream().filter(s -> s.getAccountNum().equals(searchAccountNum));
searchUser.forEach(u -> System.out.println("-------------------------\n"
+ u.getBankName() + "은행 " + u.getAccountNum() + " \n" + "남은 금액: " + u.getStock() + "원 \n"));
}
상훈님이 작성하신 코드중 for문이 아닌 스트림을 사용하여 이런식으로도 구현을 할 수 있구나하면서 어떻게 값이 들어가고 작용되는지 디버깅으로 통해 보면서 견문이 넓어진거 같아 좋았습니다.
'내일배움캠프 4기 스프링 > 프로젝트📙' 카테고리의 다른 글
개인 과제 : Springboot를 활용한 블로그 Backend 서버 만들기 (0) | 2022.12.08 |
---|---|
내일 배움 캠프 4기 스프링 두 번째 프로젝트 : 은행 관리 프로그램 (0) | 2022.11.30 |
2번째 프로젝트 진행 기록(4): 은행 관리 프로그램 (0) | 2022.11.29 |
2번째 프로젝트 진행 기록 (3): 은행 관리 프로그램 (0) | 2022.11.25 |
2번째 프로젝트 진행 기록 (2): 은행 관리 프로그램 (0) | 2022.11.24 |