QnA


❓ 코드리팩토링을 하며 일급 객체를 추가하며 인수타입/반환타입을 변경하며 코드 전체적으로 수정할 곳이 많다. 괜찮은가?

💬리팩토링을 하면서 코드 여기저기 수정이 일어나는건 어쩔 수 없다고 생각합니다  오히려 긍정적인 신호일 수도 있는데요.생각지도 못한 곳에서 까지 빨간색 밑줄이 쳐진다면 너무 많은 의존관계를 맺고 있던 것이므로 리팩토링 포인트에 대한 신호로 쓸 수 있습니다.다만 이렇게 대대적인 리팩토링을 할 때 경계해야 할 것은 빨간줄을 지워가면서 눈에 보이는 개선사항들을 처리해가면 커밋 단위가 너무 커진다는 것입니다.커밋 단위를 작게 하면서 변경을 해주신다면 큰 문제 없을 것 같습니다!!😊


❓로또 당첨번호객체는 그냥 당첨번호로 현실에서는 사람이 직접 자기 로또랑 비교하지 그에 대한 결과를 비교하는건 사람과 같은 객체가 있어야하거나 헬퍼 클래스가 있어야 하는거 아닌가?

💬객체지향 프로그래밍은 객체가 스스로 일을 하도록 하는 프로그래밍입니다  당첨번호는 당첨 번호로써만 있으며 다른 클래스에서 정보가 필요할 때 정보를 제공하는 역할만 한다면 절차 지향 언어인 C 언어의 구조체에 가까운 모습일 것 같네요 객체를 객체스럽게 사용하도록 리팩토링해라.라고 포비가 포스팅해두신 글 이 있는데 이 글이 도움이 될 것 같습니다!!😊😊


개발을 하다보면 연쇄적으로 여러곳을 건드리면서 커밋의 범위가 크고 넓어지는데 어떻게해야할까?

💬코드를 작성(수정)함에 있어 처음 목표로했던 것만을 작업 후 커밋하는걸 목표로 한다.


1. 큰 숫자는 가독성을 위해 언더바(_)를 사용하자.

//worst case
int price = 2000000000;

//good case
int price = 2_000_000_000;

2. 상황에 맞는 콜렉션을 잘 사용하자.