현재 3개의 validate에서 BigInteger 객체를 생성하면서 검증하고 있습니다.
그럼 실제 검증이 끝나고 BigInteger 객체를 또 생성할 것으로 보이는데요.
한 번의 숫자 변환을 위해서 4번의 객체 생성이 필요한가?
1번의 객체 생성으로 개선할 수 있을 것으로 보입니다!
단위테스트도 진행하시고 인수 테스트도 진행하신 부분이 굉장히 인상 깊습니다!!
단순히 기능 구현 뿐만 아니고 전체 로직에 대한 꼼꼼한 테스트는 좋은 습관이라고 생각합니다.
특히 좋은 기술로 소개되어지는 부분들 또한 접목하려고 하신 것 같더라구요!
다만, 아쉬운 점은 코드에서 무결성을 지키지 않는 부분이 있었다는 것입니다.
그 부분에 대해서는...
단위테스트도 진행하시고 인수 테스트도 진행하신 부분이 굉장히 인상 깊습니다!!
단순히 기능 구현 뿐만 아니고 전체 로직에 대한 꼼꼼한 테스트는 좋은 습관이라고 생각합니다.
특히 좋은 기술로 소개되어지는 부분들 또한 접목하려고 하신 것 같더라구요!
다만, 아쉬운 점은 코드에서 무결성을 지키지 않는 부분이 있었다는 것입니다.
그 부분에 대해서는...
@soeunnPark
바로 에러를 던지게 된다면, 해당 메서드는 조건을 `확인`하는 책임과 그 조건에 따라 `예외를 발생`하는 책임을 모두 가지게 될 것 같아요. `isNotPositive( )`가 내부 검증에서만 사용되긴 하지만 저는 가독성을 위한 분리는 좋은 코드에 가깝지 않을까 싶은데, 이에 대해서는 어떻게 생각하시는지 궁금합니다!🙂
지현님 코드 잘 읽었습니다. 제 생각에는 CalculateStirng를 포함한 클래스들이 너무 많은 기능을 가지고 있다고 생각해요. 기능 분리부터 시작해보면 어떨까요? 추가로 여러 상수들(문자열, 숫자)등을 상수로 선언해주시면 좋을 것 같아요. 구글에서 "객체지향 생활체조 원칙"을 검색해보는걸 추천드려요. 1주차 수고하셨습니다!
지현님 코드 잘 읽었습니다. 제 생각에는 CalculateStirng를 포함한 클래스들이 너무 많은 기능을 가지고 있다고 생각해요. 기능 분리부터 시작해보면 어떨까요? 추가로 여러 상수들(문자열, 숫자)등을 상수로 선언해주시면 좋을 것 같아요. 구글에서 "객체지향 생활체조 원칙"을 검색해보는걸 추천드려요. 1주차 수고하셨습니다!
전체적으로 완성도가 높은 코드였어요~
제가 여쭤본 부분이 도움이 되는 고민 포인트가 됐으면 좋겠네요 ㅎㅎ
그리고 인터페이스와 DTO를 어떻게 적용할지에대해서 질문해주셨는데요~
이 부분에 대해 고민을 많이 하셨기 때문에 여쭤본거라고 생각해요~
어떤 고민을 하셨는지 말씀해주실수 있나요~??
> 저도 처음 int 타입을 사용하다가 long타입으로 바꾸며 int타입의 최대값과 long타입의 최대값에 대한 예외 처리를 고민하며 BigIneter도 사용을 해야 하나 고민을 했습니다.
>
> 그리고 저의 예외 처리 범위에 대한 근거와 기준을 세우기 위해 가장 흔히 사용하는 '갤럭시와 아이폰 계산기'의 최대값을 다루는 타입에 대해 찾아본후 l...