
1 주차
화, 수 | Assignment #05
- 📚 3장. 함수
- ✔️ TIL
if/else/while 문 등에 들어가는 블록은 가급적 한 줄이어야 함"함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다."switch 문 은 N가지의 기능을 처리하므로, 아래 문제점이 발생함SRP 위반OCP 위반case 가 추가될 때마다 코드의 수정이 필요함추상 팩토리 패턴 을 사용하여 해결 가능switch 문을 사용해 case 에 따라 적절한 도메인 클래스의 파생 클래스의 인스턴스 리턴문구/명사/동사 사용true/false 일 때를 나눠 함수를 각각 작성writeField(name)public boolean set(String attribute, String value); // 선언부if (set("username", "unclebob")) ... // 실제 호출부try/catch 블록의 try 와 catch 블록을 각각 별도 함수로 추출하는 것이 좋음 (코드 가독성 향상을 위함)break, continue 는 사용하지 말아야 하고, goto 도 안된다.goto 문은 큰 함수에서만 의미가 있으므로, 작은 함수에서는 지양해야 함swtich 문 을 사용 시 추상 팩토리 패턴 을 사용하지 않았는데 신규 기능 추가 시에만 적용하는 것도 개인적으로 모호할 것 같았다. 따로 리팩토링 대상 항목을 정해 시스템을 개선하는 작업이면 상관없겠지만 일반적인 유지보수 시에는 바로 적용하기 어려운 방안도 있다고 느꼈다.높음, 중간, 낮음 으로 분류됨