인프런 커뮤니티 질문&답변

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

김영한의 실전 자바 - 중급 2편

문제와 풀이2 - Map2

컬렉션프레임워크 문제 풀이2 - 문제7 Cart클래스 add() 및 minus() 코드 방식에 대하여서 질문

해결된 질문

작성

·

26

·

수정됨

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요.

문제 풀이7번 장바구니를 만들고 나서, 영상 및 pdf 랑 비교해보니, Cart 클래스의 add() 및 minus() 가 비슷하긴 한데, 다릅니다.(정답은 잘 나옵니다.)

 

이럴 때에는 영한님의 코드 방식을 익히고, 영한님 코드를 쓰는게 나을까요?

아니면 그대로 저의 코드로 하는 게 나을까요?

(일단 코드도 올릴게요.)

image.png

추가1 

이렇게 코드를 올리는 게 자만 인가요? 다른 분들은 코드를 올리지 않고 잘 진행하는데, 주구장창 식으로 올리는 듯해서요.(저번 글에 답변 해주신 David 님 말이 생각이 나서요.)

 

답변 부탁 드립니다.

답변 1

1

안녕하세요. 생각하는자님, 공식 서포터즈 코즈위버입니다.

요구사항을 정확히 구현하고 있다면 본인의 코드를 유지하셔도 괜찮습니다.

지금 작성하신 코드에서 조금더 안정적으로 보완한다고 하면, minus 메서드에서 없는 상품의 수량을 조절하려고 할 때의 처리가 보완되면 좋을것 같습니다.

 

물론 장바구니에서 상품 수량을 줄였다는 것 자체가 이미 장바구니에 상품이 포함되어있음을 전제로 하는 것은 맞으나, 프론트에서 처리 문제 등으로 인해 데이터상으론 이미 제거된 상품의 수량을 다시 마이너스로 호출할 수 있습니다. 이럴 때 현재의 minus 코드는 null과 0 을 비교하는 코드가 되어 위험할 수 있습니다.

 

그러나 이런건 특수한 경우이고 현재 강의에서는 이정도까지 보완을 생각할 필요는 없습니다. 강의에서 사용한 코드는 강의를 위해 쉽게 풀어낸 코드이긴 하나, 실무에서 겪은 여러 경험이 녹은 코드이기도 합니다. 그래서 불필요하게 안전지향적인 코드로 보일수도 있습니다. 강의자가 강의에서 보여준 코딩습관 왜 생겼을지 고민하는 것도 발전에 많이 도움이 되실거에요. 보통 실무에서 한번 사고가 터져봤기에 생긴 습관인 경우가 있습니다 :)

 

감사합니다.

코즈위버님 답변을 해주셔서 감사합니다.
최소 수십 번을 생각 해야지, 강사님이 왜 이런 코드를 쓰게 되었는지 알게 되겠죠. ㅎ.ㅎ

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

질문하기