과정이 가득 차서 및 가독성을 향상시킬 수 있는지 확인하기 위해 두 번째 조건을 제거 할 수 있습니까?두 번 발생하는 조건문을 어떻게 리팩터링 할 수 있습니까?
...
if (course.isFull()) {
attemptStudentCapacityIncrease(course);
if (course.isFull()) {
// could not increase course student capacity
return;
}
}
// course is not full
...
의 연습에서 호출 (그리고 당신이 생각하는 더 나은 모양) 얼마나 자주 이 방법을 사용하려면 doIncreaseStudentCapacity 메서드 이름을 변경해야 할 수도 있습니다 ... – Andrew
나는 그것을 권하고 싶습니다. 좋은 이름은 imho 프로그래밍에서 가장 중요한 것입니다. 함수 이름에서 "시도"를하는 것은 보통 중복되는 일입니다. 그리고 단지 increaseStudentCapacity가 조금 더 깔끔합니다 :). – clime
나는 부울 값을 반환하는 메서드에 대해 "do"와 같은 단어를 사용한다는 생각을 좋아한다. 왜냐하면 그 메서드의 결과가 해당 연산이 발생했는지 여부와는 무관하기 때문이다. 만약 increaseStudentCapacity를 사용했다면, 함수가 "잘 작동해야한다"는 것처럼 보이고, 그렇지 않다면 예외가 될 것입니다. – Andrew