MVC 패턴은 그냥 형식일 뿐입니다! 디자인 패턴을 적용했을 때와 아닐 때의 차이, 장단점 등을 경험하시는 것이 더 우선시 되야 한다는게 제 생각입니다. 프리코스라는 짧은 기간 안에 그것을 다 경험하고 배울 수는 없지만, 딱 떨어지는 정답을 찾으려 하시기 보다는 코드를 작성하기 전에 본인만의 의도가 무엇인지, 코드가 그 의도를 만족했는지 고민해보신다면...
저는 이중 if문으로 인해 가독성이 떨어진다기보단 로직 자체의 가독성, 또는 과도한 주석이 원인인 것 같습니다.
자바 API에 익숙하지 않으시기 때문이니까 시간이 해결해줄 문제라고 생각합니다!
예를 들어 inputString.charAt(i) == '/' && inputString.charAt(i + 1) == '/' 는 inputString.st...
특정 상수가 해당 클래스에서만 사용된다면, 굳이 외부로 분리하지 않고 그 클래스 내부에서 관리하는 것이 더 직관적이라고 생각합니다. 이렇게 하면 불필요한 복잡성을 줄이고, 가독성을 유지할 수 있다고 생각하고 있어요.
만약 여러 곳에서 사용되는 경우 상수를 위한 클래스를 따로 만드는 방법이 있을 수도 있고, 특히 상수들이 같은 타입을 가지고, 카테...
위에서 언급했듯 전처리 과정과 계산 과정으로 나누어 생각해서 책임을 나눠놓았습니다. 추후에 다른 연산 기능이 추가되거나 계산이 복잡해진다면 Calculator의 책임이 커질 것 같아서요.
대신 Preprocessor와 Calculator를 연결하는 컨트롤러가 있으면 좋을 것 같네요!(아직 컨트롤러의 역할에 대해 100% 이해하지는 못해서 잘못된 생각...
> 안녕하세요 금성님! 1주차 미션 완료하시느라 고생하셨습니다:) 단일 클래스의 책임 분할에 대해 고민하신 것이 느껴져 좋았습니다. 다만 package분리를 조금 해주시면 더욱 구조를 한 눈에 보이게 할 수 있을 것 같습니다!!
맞습니다. 코드의 가독성을 챙기는 것뿐만 아니라 보다 직관적인 프로젝트 구조를 챙겨보도록 개선해보도록 하겠습니다.
감...
메서드의 구현 방식을 먼저 정하고 구현한 것은 아니고 구현 후 인스턴스 변수 사용 여부에 따라 결정했습니다!
클래스의 역할을 정하고 구현 했을 때 `DelimiterParser`는 인스턴스변수를 메서드에서 사용해야해서 인스턴스 메서드로 정의했습니다.
`Calculator`는 스트링을 받아서 결과값을 정수로 반환하는 기능만 필요했기 때문에 클...