mekwon92 / mini3

1 stars 0 forks source link

Agenda #2 #2

Open DaHnDell opened 2 days ago

DaHnDell commented 2 days ago
안녕하세요? 한주간 다들 고생 많으셨습니다. 
다름이 아니오라 저희 프로젝트 코드를 나름의 분석(?)을 해가며 쭉 읽어봤는데요.
개인적인 의견이지만, 이렇게 수정하는것이 어떨까? 해서 몇가지 말씀드립니다.

저번과 동일하게 제안사항에는 중요도 태그가 같이 있습니다. 1부터 3까지 존재하며 _중요도는 내림차순 정렬_이라고 생각하시면 됩니다. 이하 본문.

제안 1 2

Customer 클래스에서, 삭제 메서드는 아까 말씀드렸다시피 ID와 PW 모두 받아와서 로그인 후에야 삭제 여부를 묻는 식으로 수정하면 좋을 것 같습니다.

제안 2 2

도서 검색 메서드에서 검색 메서드 구현을 다양하게 구현한다면 좋을 것 같습니다. 예를 들어, 일치하는 도서 번호로 검색 / 일치하는 ISBN 검색 / 제목으로 검색(contains 활용) / 일치하는 저자로 검색 . 구매 페이지의 void buy() 함수 부분을 오버로딩으로 다양하게 구현해보는건 어떨까요?

제안 3 2

public void remove() 메서드 부분을 조금 고쳐보는건 어떨까요? 장바구니에서 책 번호로 지우기보다, 목록에 담긴 책들의 인덱스를 활용해서(가장 먼저 생각나는건 인덱스 + 1 값을 활용하는 것입니다), 장바구니 목록에 담긴 책들을 담긴 순서대로 정렬 없이 보여주고 이에 대한 삭제를 선택하는 식의 구현이 좋을 것 같습니다.

제안 4 1

패키지별로 내부에 있는 파일들을 호출하려면 import를 통해 가능합니다. import 클래스 형식인데, 여기에 이전 studentutils에서 진행했던 것처럼 ' * ' 별표 기호를 활용한다면 훨씬 더 쉽게 사용할 수 있습니다. 즉, 각자 담당하신 패키지 별로 파일들을 정리하는 작업이 행해진다면 각 클래스와 기능별 가시성도 높아지고 업무능력이 향상될 것 같습니다.

제안 5 3

findBy 메서드가 이곳저곳 많이 쓰이는데, miniUtils 클래스파일에서 오버로딩을 통해 함수를 새로 정의해보는 작업을 개인적으로 한번 진행해볼까 합니다. 안되면 과감히 포기할게요!

제안 6 2

클래스 파일들의 이름짓는 방식을 공통화하면 좋을 것 같습니다. 어쩌면 4번 제안과도 이어지는 것이라 생각됩니다, 카멜 표기법을 잘 사용해주시고 있기도 하고 변수명을 짓는 패턴은 너무 좋은데요. 단지 파일들의 이름을 공통분모적 의식을 가지고 같이 형식을 맞춘다면 조금 더 좋을 것 같습니다.

제안 7 3

도서목록을 조회하는 방식..사실 구현 자체가 필요없을 것 같긴 합니다만, 단지 shuffle만 사용하기엔 조금 아깝다는 느낌도 들어서요. 조원 여러분들의 의견이 궁금합니다.

제안 8 2

장바구니 부 필드 값들에 주석을 활용해서 각 값들에 대한 아주 간단한 형식의 설명이 부연된다면 좋을 것 같습니다. 예를 들어, int back, int cancel 등의 값, 또 Getter / Setter 부에 있는 set cancel, get cancel 이러한 메서드들의 용도 등등에 대한 짤막한 설명이 생긴다면 함께 프로그램을 완성해 나갈 때 더욱 탄력적일 것 같아요. 또한, 각자 구현해 주신 메서드 위에 // 을 활용해서 간단한 설명도 부여된다면 이상적인 협업과정이 완성될 것 같습니다.**

늘 고생 많으시고 열심히 해 주셔서 감사합니다. 늦은 시간 죄송합니다. 편안한 주말 되시고, 언제든지 댓글로 의견 부탁드립니다.

mekwon92 commented 2 days ago
  1. 현재 로그인-회원정보에서 삭제하고있습니다. 고민하고있는 부분은 id입력없이 pw만 받아 해당 고객정보를 삭제하는건데(현재는 이 화면에서 id/pw 이용하면 다른 아이디도 삭제 가능함) 고민해보고있습니다.
  2. BookService에서 맡은 역할이 도서 검색을 통해 해당 도서 1권의 세부내역까지 출력하는 것으로 알고있는데 도서 검색시 다양한 방법을 적용해보자는 것인가요? 좋습니다. 다만 CartService 에는 해당 책에 대한 유일값인 도서번호를 통해 해당 리스트나 배열에 저장하는것이 좋을 것 같습니다.
  3. 좋습니다 같이 고민해보면 좋을 것 같습니다.
  4. 이 방법을 통해 Cart패키지에 있는 클래스를 줄이면 좋을 것 같습니다.
  5. findBy(중복체크메서드) 가 여러군데 쓰이고있긴 하지만 각자의 리턴값이 Customer, Book, Cart로 다 다르게 나와야 할 것 같아서 각자 서비스에서 private로 관리하는게 어떨까 싶었는데 CartService에서 Book리턴값이 필요하다면 그렇게해도 될것같습니다.
  6. import통해 cart패키지의 class를 줄이면 해결가능할것같습니다
  7. 이건 다 같이 출력화면을 보면서 논의해보면 좋을 것같습니다. 지금 집 컴퓨터에서 확인이 안되네요 module에서 피를 흘리고있어요(ㅋㅋㅋ)
  8. cart에서 back이랑 cancel를 필드말고 메서드부분을통해 구현해야하는게 아닐까싶어요. 필드 대신 메서드에서 id와 bookId, bookPrice를 getter로 받아와 사용하는 방법을 고민해야할것같아요.
  9. 추가로 각자 고민하고있지만 공유하기 애매한 부분, 앞으로 구현해야할 작업은 상단에 주석처리를 통해 남겨놓으면 서로 확인하기 좋을 것 같습니다.(강요는 아닙니다) 한민님 참 적극적으로 하고계신데 도움이 많이 못되어서 죄송하네요 ㅠ 다른 팀원분들도 주말 화이팅하셔요!! 저는 이번주 학교 과제물할게 많아서 주말작업이 힘들거같아요! 최대한 빨리하고 다음주는 열심히 참여해보겠습니다,,,,,,,