가독성 높이기
intent 줄여 코드 가독성 높이기
Guard clause
// as-is
func sayHi(to developer: Developer) throws {
if developer.isFrontEnd {
throw NSError(domain: "myDomain", code: 1, userInfo: [NSLocalizedDescriptionKey: "프론트 엔지니어입니다"])
} else if developer.isBackEnd {
if !developer.useJava {
throw NSError(domain: "myDomain", code: 2, userInfo: [NSLocalizedDescriptionKey: "자바를 사용하지 않습니다"])
} else {
if developer.useSpring {
print("안녕하세요!")
} else {
throw NSError(domain: "myDomain", code: 3, userInfo: [NSLocalizedDescriptionKey: "자바의 다른 프레임워크를 사용합니다"])
}
}
} else {
throw NSError(domain: "myDomain", code: 4, userInfo: [NSLocalizedDescriptionKey: "who are you?"])
}
}Polymorphism(다형성)
Last updated